1. 程式人生 > >restful十條規範

restful十條規範

clas pat stat 例如 資源 resp response rest class

1、根據method不同進行不同的操作:

GET/POST/PUT/DELETE/PATCH

2、面向資源編程:後綴為名詞:

http://www.mxonline.com/salary

3、版本控制:在url中體現版本號:

http://www.mxonline.com/v1/salary
http://www.mxonline.com/v2/salary

https://v2.bootcss.com/
https://v3.bootcss.com/

4、體現為API接口:

http://www.mxonline.com/api/v1/salary
http://www.mxonline.com/api/v2/salary

http://api.mxonline.com/v1/salary  # 可以避免跨域問題
http://api.mxonline.com/v2/salary

5、https協議更安全:https://www.cnblogs.com/fqh202/p/9483749.html

https://www.mxonline.com/api/v1/salary
https://www.mxonline.com/api/v2/salary

6、響應設置狀態碼:

return HttpResponse('', status=200)

7、條件:例如傴返回的數據量比較大的時候,可以增加分頁等條件

http://www.mxonline.com/api/v2/salary?page=1&size=20

8、返回值:

http://www.mxonline.com/api/v2/salary
GET:返回所有數據列表
    [
        {id:1, 'name':'alex', 'salary':3000},
        {id:2, 'name':'kate','salary':5000},
        {id:3, 'name':'bob', 'salary':4030},
    ]
    
POST:返回新增的數據
    {id:1, 'name':'alex', 'salary':3000},


http://www.mxonline.com/api/v2/salary/1/
GET:返回單條數據
     {id:1, 'name':'alex', 'salary':3000},

PUT:更新,返回完整的資源對象
     {id:1, 'name':'alex', 'salary':3000},

DELETE:刪除
    返回空

9、返回錯誤信息:

{
    'code':40000,
    'error':'xx錯誤',
    
    // 正確信息返回
    'data': [
        {id:1, 'name':'alex', 'salary':3000},
        {id:2, 'name':'kate','salary':5000},
        {id:3, 'name':'bob', 'salary':4030},
    ],
    
}

10、Hypermedia Api:

{
    'code':40000,
    'data':{
            id:1, 
            'name':'alex',
            'depart_id':'http://www.mxonline.com/api/v2/dept/1/'},
}

restful十條規範