restful接口

Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

http://localhost:9999/products/123,返回机器可以直接读取的数据格式,例如json格式。通过API操作数据,可以极大地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。例如,当用户需要在手机上购买商品时,只需要开发针对iOS和Android的两个客户端,通过客户端访问API,就可以完成通过浏览器页面提供的功能,而后端代码基本无需改动。

Restful的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构).

Rest架构的主要原则
** 网络上的所有事物都被抽象为资源**

** 每个资源都有一个唯一的资源标识符**

** 同一个资源具有多种表现形式(xml,json等)**

** 对资源的各种操作不会改变资源标识符**

** 所有的操作都是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。**

** 符合REST原则的架构方式即可称为RESTful**

RESTful 架构的核心规范与约束:统一接口
分为四个子约束:
1.每个资源都拥有一个资源标识,每个资源的资源标识可以用来唯一地标明该资源
2.消息的自描述性
3.资源的自描述性。
4.HATEOAS Hypermedia As The Engine Of Application State(超媒体作为应用状态引擎)
即客户只可以通过服务端所返回各结果中所包含的信息来得到下一步操作所需要的信息,如到底是向哪个URL发送请求等。也就是说,一个典型的REST服务不需要额外的文档标示通过哪些URL访问特定类型的资源,而是通过服务端返回的响应来标示到底能在该资源上执行什么样的操作

restful接口

Restful接口设计规范

restful接口设计规范:http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

补充:接口版本控制

restful接口