*我刚刚开始探索 RESTful 服务,我发现 rest 使用基于资源的 URI,所以我只想知道它们之间有什么区别,基于资源的 URI 是否比基于操作的 URI 有任何优势 *
最佳答案
基于操作的 URL:
- 专注于正在执行的操作
- 通常包含一个动词
- 经常依赖外部资源来识别正在操作的资源(例如, session 状态)
基于资源的 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
关于web-services - 基于操作的 URI 和基于资源的 URI 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38989984/