restful十条规范

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/'},
}

猜你喜欢

转载自www.cnblogs.com/fqh202/p/9630906.html
今日推荐