我正在为测试软件设计REST Api,我有一个疑问。我经常搜索,但对我来说还不够清楚。我的场景是一个包含多个要打印的作业的队列。这些作业是复杂的对象,打印工作流程是另一个复杂的操作。我不知道哪种手术最合适。根据这个,它应该是一个POST?
http://restful-api-design.readthedocs.org/en/latest/methods.html
在这种情况下,我的操作将更适合RPC模型,但我们需要使用REST,因为95%的操作非常适合此模型。
如果是POST,我必须发送要在体内打印的队列吗?
非常感谢你。
答案 0 :(得分:2)
我不知道您希望通过REST API公开什么,但我会考虑这个。
您可以使用与打印队列对应的路径/printjobs
公开资源。使用方法POST
将在队列中添加作业。返回的状态代码为202 Accepted
,因为它是异步的并返回新作业的标识符。
后台的东西负责处理队列中的作业。我认为它与REST API有所不同。
然后,您可以使用资源/printjobs/{id}
,它将为您提供有关作业状态的提示(方法GET
),禁止它(方法DELETE
)并更新其状态(对于使用方法PUT
或PATCH
)/
希望它可以帮到你, 亨利