基于操作和资源基URI之间有什么区别?

时间:2016-08-17 06:54:53

标签: web-services rest jersey jax-rs

*我刚刚开始探索RESTful服务,我发现rest使用基于资源的URI,所以我只是想知道它们之间的区别是什么,基于资源的URI比基于动作的URI有任何优势*

1 个答案:

答案 0 :(得分:2)

基于行动的网址:

  • 专注于正在执行的行动
  • 通常包括动词
  • 通常依靠外部来源来识别正在采取行动的资源(例如,会话状态)

基于资源的网址:

  • 专注于正在采取行动的资源
  • 通常由名词
  • 组成
  • 依靠HTTP谓词来定义正在执行的操作(例如,GET,PUT,POST和DELETE)

示例:

Action-based URL                     Resource-based URL
-----------------------------------------------------------------
GET  /register                       GET    /accounts/application
POST /register                       POST   /accounts
GET  /catalog/search                 GET    /queries/form
POST /catalog/search                 POST   /queries
GET  /cart                           GET    /order/123
POST /cart/add-item                  POST   /order/123/items
POST /cart/empty                     DELETE /order/123
GET  /check-out                      GET    /order/123/invoice
POST /check-out                      POST   /order/123/payments
GET  /thank-you                      GET    /order/123/receipt
POST /sign-in                        POST   /sessions
POST /admin/delete-user?id=123       DELETE /user/123
GET  /catalog/edit?id=123            GET    /items/123/form
POST /catalog/edit?id=123            PUT    /items/123