淘宝做代码的网站,黔东网站建设,wordpress的时间,网站建设投资大概每年需要多少钱如何设计统一 RESTful 风格的数据接口 1.版本控制1.1 通过 URL1.2 通过自定义请求头1.3 通过 Accept 标头 2.过滤信息3.确定 HTTP 的方法4.确定 HTTP 的返回状态5.定义统一返回的格式 近年来#xff0c;随着移动互联网的发展#xff0c;各种类型的客户端层出不穷。如果不统一… 如何设计统一 RESTful 风格的数据接口 1.版本控制1.1 通过 URL1.2 通过自定义请求头1.3 通过 Accept 标头 2.过滤信息3.确定 HTTP 的方法4.确定 HTTP 的返回状态5.定义统一返回的格式 近年来随着移动互联网的发展各种类型的客户端层出不穷。如果不统一数据接口则会造成冗余编码增加成本。RESTful 风格的 API 正适合通过一套统一的接口为 PC、手机 APP 等设备提供数据服务。
1.版本控制
随着业务需求的变更、功能的选代API 的更改是不可避免的。当一个 API 修改时就会出现很多问题比如可能会在 API 中新增参数、修改返回的数据类型。这就要考虑根据原先版本 API 编写的客户端如何保留或顺利过渡。所以需要进行版本控制。
REST 不提供版本控制指南常用的方法可以分为 3 种。
1.1 通过 URL
通过 URL 是最直接的方法尽管它违背了 URI 应该引用唯一资源的原则。当版本更新时还可以保障客户端不会受到影响如下面使用不同 URL 来确定不同版本。
二级目录 的方式
API 版本 V1http://eg.com/api/v1。API 版本 V2http://eg.com/api/v2。
二级域名 的方式
API 版本 V1http://v1.eg.com。API 版本 V2http://v2.eg.com。
还可以包括日期、项目名称或其他标识符。这些标识符对于开发 API 的团队来说足够有意义并且随着版本的变化也足够灵活。
1.2 通过自定义请求头
自定义头例如Accept-version允许在版本之间保留 URL。
1.3 通过 Accept 标头
客户端在请求资源之前必须要指定特定头然后 API 接口负责确定要发送哪个版本的资源。
2.过滤信息
如果记录数量很多则服务器不可能一次都将它们返回给用户。API 应该提供参数实现分页返回结果。下面是一些常用的参数。
?limit10指定返回记录的数量。?page5size10指定第几页以及每页的记录数。?search_type1指定筛选条件。
3.确定 HTTP 的方法
在 RESTful 中HTTP 的方法有以下几种。
GET代表 请求资源。POST代表 添加资源。PUT代表 修改资源。PUT 是进行全部的修改大家在编写修改功能时可能会遇到这样的情况只修改了一个字段但提交之后导致其他字段为空。这是因为其他字段的值没有一起提交数据库默认为空值。如果只修改一个或几个字段则可以使用 PATCH 方法。DELETE代表 删除资源。HEAD代表发送 HTTP 头消息GET 中其实也带了 HTTP 头消息。PATCHPUT 与 PATCH 方法比较相似但它们的用法却完全不同PUT 用于替换资源而 PATCH 用于 更新部分资源。OPTIONS用于获取 URI 所支持的方法。返回的响应消息会在 HTTP 头中包含 Allow 的信息其值是所支持的方法如 GET。
4.确定 HTTP 的返回状态
HTTP 的返回状态一般有以下几种。 200 200 200成功。 400 400 400错误请求。 404 404 404没找到资源。 403 403 403禁止。 406 406 406不能使用请求内容特性来响应请求资源比如请求的是 HTML 文件但是消费者的 HTTP 头包含了 JSON 要求。 500 500 500服务器内部错误。
5.定义统一返回的格式
为了保障前后端的数据交互的顺畅建议规范数据的返回并采用固定的数据格式封装。如
异常信息
{code: 10001, msg: 异常信息, data: null
}成功信息
{code: 200, msg: 成功 data: {id: 1,name: pipi, age: 26}
}