Web services 基于操作的URI和基于资源的URI之间有什么区别?
*我刚开始探索RESTful服务,我发现rest使用基于资源的URI,所以我只想知道它们之间的区别,以及基于资源的URI是否比基于操作的URI有任何优势*基于操作的URL:Web services 基于操作的URI和基于资源的URI之间有什么区别?,web-services,rest,jersey,jax-rs,Web Services,Rest,Jersey,Jax Rs,*我刚开始探索RESTful服务,我发现rest使用基于资源的URI,所以我只想知道它们之间的区别,以及基于资源的URI是否比基于操作的URI有任何优势*基于操作的URL: 关注正在执行的操作 通常包括动词 通常依赖外部源来识别所操作的资源(例如,会话状态) 基于资源的URL: 专注于所作用的资源 通常由名词组成 依赖HTTP谓词定义正在执行的操作(例如,GET、PUT、POST和DELETE) 示例: 可能重复的 Action-based URL
- 关注正在执行的操作
- 通常包括动词
- 通常依赖外部源来识别所操作的资源(例如,会话状态)
- 专注于所作用的资源
- 通常由名词组成
- 依赖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