我想使用long running jobs Blueprint正确设计我的json API。
我需要处理文件,返回带有位置标头的202 Accepted
,然后设计将接收303 See Other
的临时位置,然后设置最终对象201 Created
。
有没有办法正确设计这个序列?
答案 0 :(得分:6)
蓝图可能如下所示:
# Stars [/stars]
Collection of stars.
## Create [POST]
+ Request (application/json)
Create a star
+ Body
{"name": "Death Star"}
+ Response 202
Request has been accepted into the queue. Poll the queue item to check the result.
+ Headers
Location: /queue/12345
# Queue Item [/queue/{id}]
One item in a job queue.
+ Parameters
+ id: 12345 (number) - Id of the queue
## Query Status [GET]
+ Response 200 (aplication/xml)
The job is still in progress.
+ Body
<response>
<status>PENDING</status>
<eta>2 mins.</eta>
<link rel="cancel" method="delete" href="/queue/12345" />
</response>
+ Response 303
The job has finished. See the created resource.
+ Headers
Location: /stars/97865