RESTful API规范

  • REST(表述性状态转移)是一种架构风格,通过HTTP+URI+XML实现其架构分格。
  1. 对象被视为一种资源资源可以有多种表述,表述状态具有描述性,包括资源内容、表述格式(xml、json)等信息。
  2. REST的资源是可寻址的,通过HTTP1.1协议定义的通用动词方法GET、PUT、DELETE、POST,使用URI协议来唯一标识某个资源公布出来的接口。
  3. 请求一个资源的过程可以理解为访问一个具有指定性和描述性的URI,通过HTTP协议,将资源的表述从服务器“转移”到客户端或相反方向。
  • REST式的服务比RPC分格的web服务更轻量级,实现更快捷,REST无需引入SOAP消息传输层,无需注册服务,也没有客户端stub等概念。但是大web服务功能更强大,更适合企业内部通讯(长链接,不必像http那样三次握手,减少网络开销、import interface jar包调用、注册中心,有丰富的监控管理,发布/下线接口/动态扩展对调用方是无感知的及统一化操作)
  • 资源方法命名:名词(单复数)
  • 方法:
  1. get方法:获取资源。幂等、安全(不对资源状态做改动)
  2. put方法:更新或添加资源。幂等(针对同一份数据新增操作只新增一次)、不安全
  3. delete方法:删除资源。幂等、不安全
  4. post方法:添加资源。不幂等、不安全
  • 资源定位:

http://localhost:8080/simple-service-webapp-spring-jpa-jquery/webapi/books/book?id=1&name=123
协议名车 主机名/ip地址 端口号 资源地址 ? 查询字符串 & 查询字符串
url不能唯一定位资源,url+方法才可以唯一定位资源。

 

posted @ 2020-08-24 20:16  机械公敌  阅读(134)  评论(0编辑  收藏  举报