REST 全称是: representational state transfer,可以是一种建筑风格(architectural style),对于分布式的超媒体系统来说。
网络上的所有事物都可以具象为资源(通过URL)
每个资源都应该有唯一的标识(identifier),对资源的操作不会改变标识
所有的操作都是无状态的,对REST接口的访问,不会改变资源的状态
使用标准方法(GET、POST、PUT、PATCH、DELETE)操作资源
幂等性:同一个RESTful接口的多次访问,得到的资源状态是相同的。
安全性:对该RESTful接口访问,不会使服务端资源的状态发生改变。
规范建议
API尽量采用通过安全通道的HTTPS协议(https)。
请求体与响应体统一通过json格式来承载,json使用Camel的命名规则,媒体类型需设置为“application/json”。
示例:
Request
Accept: application/json
Content-Type: application/json
Response
Content-Type: application/json
请求体与响应体统一采用UTF-8编码格式,时间统一使用UTC格式:yyyy-MM-dd'T'HH:mm:ss[.SSS]'Z'。
URI模版:/{domain}/{service or module}/api/{version}/{resource},URI应全为小写字母,短语单词使用“-”分隔。