设计API

最后更新于:2022-04-02 03:09:39

[TOC] ## 创建模型URI ``` /devices /devices/{id} /configurations /configurations/{id} /devices/{id}/configurations /devices/{id}/configurations/{id} ``` ## 合理设计参数 ``` 比如设计一个最近登陆的所有用户 https://example.com/api/users?recently_login_day=3 ``` ``` 搜索用户,并按照注册时间降序 https://example.com/api/users?recently_login_day=3 ``` ``` 搜索用户,并按照注册时间升序、活跃度降序 https://example.com/api/users?q=key&sort=create_title_asc,liveness_desc ``` ``` 分页 https://api.cnblogs.com/api/blogposts/picked?pageIndex=pageIndex&pageSize=pageSize ``` ## 统一返回数据格式 code * 包含一个整数类型的HTTP响应状态码 status * 包含文本:`success`,`fail`或`error`。 * HTTP状态响应码在500-599之间为`fail`, * 在400-499之间为`error`, * 其它均为`success`(例如:响应状态码为1XX、2XX和3XX) message * 当状态值为`fail`和`error`时有效,用于显示错误信息 data * 包含响应的body。当状态值为`fail`或`error`时,data仅包含错误原因或异常名称、或者null也是可以的 * 返回成功的响应json格式 ``` { "code": 200, "message": "success", "data": { "userName": "123456", "age": 16, "address": "beijing" } } ``` * 返回失败的响应json格式 ``` { "code": 401, "message": "error message", "data": null } ``` ## http状态码 1** 请求未成功 2** 请求成功、表示成功处理了请求的状态代码。 3** 请求被重定向、表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。 4** 请求错误这些状态代码表示请求可能出错,妨碍了服务器的处理。 5**(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
';