理解前后端分离:
后端负责数据编造,而前端则负责数据渲染,前端静态页面调用指定api获取到有固定格式的数据,再将数据展示出来,这样呈现给用户的就是一个”动态“的过程,而关于api这部分的设计则成了一个问题。如何设计出一个便于理解,容易使用的api则成了一个问题。
Restful 是规范api的一种约束。
- Restful api的设计原则
- 客户端-服务器:将用户UI和数据存储分开。
- 无状态:从客户端到服务器的每个请求都必须包含理解请求所需的所有信息,且不能使用服务器上任何存储的上下文。表示尽量避免使用seesion,由客户端自己标识状态。(token)
- 规范接口:REST接口约束定义:资源识别;请求动作;响应信息;他表示通过url标出你要操作的资源,通过请求动作标识要执行的操作,通过返回的状态码来表示执行结果。
- 可缓存:要求对请求的响应中的数据隐式或显式的标识为可缓存或不可缓存的。若可缓存,客户端则可以缓存重用该数据用于以后的等效请求。
- url规范:
- Http method对应不同的请求动作(数据库或业务逻辑)
GET:查询操作
POST:新增动作
PUT:更新操作
PATCH:部分更新
DELETE:删除操作
只需要api/users这一个接口
GET http://localhost:8080/api/users (查询用户)
POST http://localhost:8080/api/users (新增用户)
PUT http://localhost:8080/api/users (更新用户)
DELETE http://localhost:8080/api/users (删除用户)
- 不要使用文件扩展名
- 使用查询组件过滤URL集合:对于某些可以排序、过滤或限制的资源属性,不要创建新的API,而是在资源集合API中启用排序、过滤和分页功能。
- 无状态:
- 可以部署到多个服务器,任何服务器都可以处理任何请求,因为没有与会话相关的依赖。
- 客户端使用--token,携带必要的客户端信息。