restful十條規範
阿新 • • 發佈:2018-09-12
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十條規範