需求
随着移动互联网的发展,客户端层出不穷,微信端、WEB 端、APP 等,但后端业务逻辑基本上是一致的,所以就有了接口。
什么是接口
接口就是一个文件(js/json/php 等),**主要响应 JSON 数据(操作方便,体积小)**或 XML 数据。
// 只要响应 json 数据,所有语言都可以操作,例如 iOS/Android 等
{
meta: {
status: 状态码(200/201/301/404),
msg: '提示信息'
}
data: 数据
}
<xml>
<status>0/1</status>
<msg>提示信息</msg>
</xml>
接口的作用
数据角度:让我们的项目静态/固定数据动态(项目数据来源于数据库)
功能角度:短信接口、天气接口、股票接口等
怎样运用接口
- 通过 node/go/php/java/asp 等语言去开发
- 使用第三方接口
使用接口,可以减少后端工作量,方便后期维护。
接口开发规范
因为接口也可能是多人开发的,所以为了保证编写规范的一致,就有了接口开发规范。
需求
商品模块 /goods/getIndex get
订单模块 /order/index post
用户模块 /user
上述这种 case 项目没有统一的开发规则,后期维护比较麻烦,可以使用 Restful API 思想/架构
作用
REATful
是目前最流行的一种互联网软件架构(思想),声明/提供了接口设计原则和约束条件(一个范围)
用法:
- 后端将资源发布到 URL 上
- 前端通过 URL 访问资源
- 通过 HTTP 动词表示要对资源进行的操作 后端定义接口
- 前端请求接口
- HTTP 动词表明操作目的(get获取post新建put更新)
eg:
列表页:访问 - /模块名 (get)
详情页:访问 - /模块名/编号 (get)
添加页:访问 - /模块名/create (get)
处理:访问 - /模块名 (post)
修改页:访问 - /模块名/编号、edit (get)
处理:访问 - /模块名/编号 (put)
删除:访问 - /模块名/编号 (delete)
统一开发规范,便于团队协作开发
标准的 RESTful 架构
- 项目所有模块有统一的标准
- 看 URL 就知道要操作的资源是什么
- 看 HTTP method 就知道要操作的动作是什么
- 看 HTTP Status Code 就知道操作结果如何,是成功(200)还是内部错误(500)
eg:
订单模块
查询:/order (get)
创建:/order (post)
修改:/order/编号 (put)
删除:/order/编号 (delete)
统一开发规范,便于团队协作开发
接口测试工具(Postman)
一个接口测试工具,用来模拟 HTTP 请求,测试接口,查看接口返回数据。