REST开发规范
接口JSON响应格式规范
统一根据Http状态码判断响应是否正确
Http响应码理解
200 正常响应
301、302 重定向
400 错误请求,用于客户端响应给用户的错误
401 未验证
403 没有权限
404 找不到资源
405 请求方式错误(例:服务器要求POST方式,客户端使用GET则响应该错误)
500 服务器内部错误
502 服务不可用
400~404的错误需要客户端告知用户,405为开发时可能发生的错误,500以上的错误客户端只需要告诉用户服务器异常即可。
错误处理统一返回Json格式 异常或错误返回统一Json格式
{
"code": "001",
"sys": "系统名",
"message": "some error message"
}
正确Json数据响应
{
"data": "a right data",
"dataArr": [
{"a": "aa"},
{"b": "bb"}
]
}
接口版本控制及接口命名规范
版本控制统一采用path参数的方式,且为最后一个path参数,放到路径末尾,以v开头数字版本号结尾。
例如,用户接口
正确:/users/v1,/users/app/v1,/users/{id}/v1
错误:/v1/users,/users/v1/app,/users/v1/{id}
资源获取接口都采用资源复数形式命名,增删改查通过请求方式区分(GET,POST,PUT,DELETE,PATCH:单属性修改)
以用户(user)举例
接口名 | path?params | 请求方式 |
---|---|---|
获取用户列表 | /users/v1 | GET |
添加用户 | /users/v1 | POST |
添加用户单个属性 | /users/v1?id=1&pwd=pwd或/users/{id}/v1?pwd=pwd或/users/pwd/v1?id=1&pwd=pwd | POST |
修改用户 | /users/v1?id=1或/users/{id}/v1 | PUT |
删除用户 | /users/v1?id=1或/users/v1?id=1,2,3或/users/{id}/v1 | DELETE |
修改用户单个属性 | /users/v1?id=1&pwd=pwd或/users/{id}/v1?pwd=pwd或/users/pwd/v1?id=1&pwd=pwd | PATCH |
对于一对多关系资源采用如下命名方式,例一个用户对应多个APP,操作APP接口命名如下:
/users/{id}/apps/v1
/users/{id}/apps/{id}/v1
← CodeReview规范 性能名词 →