RESTFUL

341 阅读1分钟

REST是什么以及它的6个限制

  • 是万维网软件架构风格;

  • 英文:Representational State Transfer;

  • 6个限制:客户-服务器(关注点分离) 无状态的(所有会话信息保存在客户端) 缓存 统一接口 分层系统(每一层只是知道和自己相邻的一层,客户端不知道是和代理通信还是和真实服务器通信) 按需代码

RESTful API

  • RESTful API就是符合REST风格的API;
  • RESTful API具体什么样子:
    • 2.1基本的URI,如https://api.github.com/users
    • 2.2标准的http方法,GET,POST,PUT,PATCH
    • 2.3传输的数据媒体类型,如JSON,XML

请求设计规范

  • URI使用名词,尽量用复数,如:/users

  • URI使用嵌套表示关联关系,如:/users/gxr/repos

  • 使用正确的http方法,如: post、get、patch、put、delete等

  • 不符合CURD情况,如:post/action/子资源

响应设计规范

  • 查询
  • 状态码
  • 分页
  • 错误处理
  • 字段过滤

安全

  • https
  • 鉴权(登录才可以访问接口)
  • 限流(防止故意攻击)

开发者友好

  • 文档
  • 超媒体(链接)