文章目录
- 摘要
- 1、RESTful API是什么?
- 2、RESTful是什么?
- 参考资料
摘要
RESTful是整个网络应用程序设计风格和开发方式。而RESTful API是其中API的设计风格。
1、RESTful API是什么?
API接口在设计命名时,由版本/操作资源名称/操作资源变量组成,其中不包含操作的行为动词,增删查改等操作行为由http请求方法(POST、GET、DELETE、PUT)决定。例如:
2、RESTful是什么?
是整个网络应用程序设计风格和开发方式,包括
-
接口设计的合理性和访问的幂等性:接口按第一章的风格设计和命名,访问要求满足同样的请求,重复操作产生的结果是一样的(幂等性)。幂等性的好处是,能够防止因网络问题重发请求和延迟抵达后的请求叠加,导致数据被重复叠加操作。例如,某个接口的功能是让数据库数据自增50,客户端访问该接口时,由于网络问题导致请求延迟抵达,而客户端认为该请求丢失了,所以重发一次请求,结果导致数据错误的自增了100。
可以通过为该数据添加一个版本号去解决该问题,在请求时指定自增的是版本号为1的记录,更新完后数据版本号变为2,这样再有重复的请求去更新版本1数据将失败。
-
响应结构的统一和规范性:假如返回响应是JSON格式的,访问任何接口返回的JSON格式数据应当是一样的。例如:
{ "code":0, "message": "sucessful", "data": "XXX" }
-
采用无状态的方案:服务器不存储用户的状态信息。而是由客户端存储状态信息,例如:JWT鉴权,客户端浏览器Cookie存储用户登录信息,每次访问时,携带cookie,服务器只需要负责验证。这样的好处是能够减轻服务器压力;也能够避免在分布式系统中,用户登录请求和访问数据请求处理的服务器节点不一致,而导致访问失败的状况。
参考资料
什么是 REST API 一文读懂 (RESTful API)
如何优雅的设计RESTful API接口