RESTful风格



Leonard Richardson's Maturity Model


      REST(Representational State Transfer, 即表述性状态传递),是一种软件架构风格,给出了一系列的设计约束/原则, 使得软件更易维护,性能更高。上图中的模型把REST原则分成四层:


  • Level 0: The Swamp of POX. 需使用HTTP协议作传输。
  • Level 1: Resource. 使用URIs来区分不用的资源。在REST风格中,任何东西都被看作资源,资源通过URI来访问。
  • Level 2: HTTP Verbs.  使用GET, POST, PUT, DELETE等HTTP Method来操作资源, 对资源进行查、增、改、删。
  • Level 3: Hypermedia Controls. HATEOAS。

     URI里尽量避免出现动词,毕竟它表示的是某一资源的标识。对资源的CRUD操作用HTTP Method来表示。下面举个例子来体会一下:

POST   /user/new      HTTP/1.1
GET    /user?id=1     HTTP/1.1
POST   /user/1        HTTP/1.1
GET    /deleteUser/1  HTTP/1.1

POST   /users         HTTP/1.1
GET    /users/1       HTTP/1.1
PUT    /users/1       HTTP/1.1
DELETE /users/1       HTTP/1.1


上述两组四种操作分别代表对user这个资源的增查改删,显然后一组更整洁、更规范。



参考:

  1. http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming
  2. http://spring.io/guides/tutorials/bookmarks/
  3. http://www.restapitutorial.com/index.html
  4. http://en.wikipedia.org/wiki/REST
  5. http://stackoverflow.com/questions/1139095/actual-examples-for-hateoas-rest-architecture

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值