Api蓝图和长期工作

时间:2015-06-19 08:58:56

标签: json api rest apiblueprint

我想使用long running jobs Blueprint正确设计我的json API。 我需要处理文件,返回带有位置标头的202 Accepted,然后设计将接收303 See Other的临时位置,然后设置最终对象201 Created

有没有办法正确设计这个序列?

1 个答案:

答案 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