rest - 当您需要使用 REST api 的动词时,最好做什么?

标签 rest restapi

我正在公开一个 REST API,只要您执行 CRUD(创建、更新、删除),就可以轻松顺畅地使用它。但是我有这个 Tickets,它返回一个票证列表(get),一个获得特定项目(get)的 Ticket/{id} 和一个将票证状态从未激活更改为激活的激活方法(put)。
现在我需要给 REST '消费者' 做一些事情的能力(在 ws 中将被称为:GetAndActivateRandomTicket() 这让我想知道,应该在 REST 上描述什么?它是一个帖子吗?A put? a get? 目标是获得随机数量的票并将其状态设置为事件状态。类似于同时进行 get & put 但事先不知道 put 的 {id}。
应该是/Tickets?activate=true&amount=5 吗?什么动词?我应该暴露动词而不是名词吗?关于这个问题的“最佳实践”是什么?

最佳答案

如果重复操作做了不同的事情(例如,激活不同的票),那么它是 不是幂等的 .非幂等操作总是映射到 RESTful 架构中的 POST(或自定义动词)。

关于rest - 当您需要使用 REST api 的动词时,最好做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560949/

相关文章:

java - Jersey Inject Weld managed bean into ConstraintValidator

java - 从服务器位置从 REST 返回文件

REST:当一个请求改变多个实体的状态时返回什么?

REST - 不应该 PUT = 创建和 POST = 更新

请求资源子集的 RESTful 方式

c# - 在 Web API 中返回特殊的 ASCII 字符

api - sails.js restful api 中 find-feature 的结果数(在较新版本中)

spring - SwaggerUI 中的 Rest API 版本 header

REST API 服务器