1.接口编程
1.1背景
随着互联网的发展, 尤其是移动互联为代表的web3.0时代. 客户端层出不穷, 以app、微信、pc浏览器为代表, 服务端业务逻辑是基本一致的。那么有没有一种方式可以做到”服务端一次编写, 客户端随时接入”呢?
1.2接口编程
api(application programming interface,应用程序编程接口),程序之间交互数据的一种方式。
请求方式:get方式 post方式
请求协议:http协议 https协议
返回参数格式:普通字符串、json格式、xml格式,现在通用的是json格式
2.restful设计风格
2.1rest;与restful
rest(英文:representational state transfer,简称rest),表述性状态转移,指的是一组架构原则。
restful: 遵守了rest 原则 的web服务或web应用。
2.2api设计六要素
2.2.1资源路径url
资源:所有在服务器保存的数据(如:音乐/视频/文章/个人信息…)都是服务器端资源.(项目中资源通常都是指的数据表的一条数据)
2.2.2http动词(请求方式)
对于资源, 一般有4个操作, curd(增/删/改/查)
get: 从服务器获取资源(一项或多项)
post: 在服务器新建一个资源
put: 在服务器更新资源, 服务器返回完整的属性
delete: 从服务器删除资源
2.2.3过滤信息
通常也叫做请求参数或查询字符串。
2.2.4响应状态码
服务端返回的信息, 用来告诉客户端操作结果。
2.2.5错误信息
如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息. 通常以json格式返回:
{
“error”: “错误信息”,
}
2.2.6返回结果
针对不同的操作, 服务需要返回的结果应该符合这样的规范
get /collections — 返回资源列表(数组)
get /collections/:id — 返回单个资源 eg. /collections/1
post /collections — 返回新生成的资源
put /collections/:id — 返回资源的完整属性
delete /collections/:id — 返回204状态码+空文档
实际开发中,通常会将 状态码、错误信息、返回数据,都放到返回结果中。
3.restful接口设计风格
restful是一种软件设计风格, 主要用于有客户端与服务端交互的软件.
restful 是目前最流行的 api 设计规范,用于 web 数据接口的设计。
4.接口文档
4.1接口内容
4.2请求参数内容
4.3响应参数内容
4.4错误码内容