Apiary.io - 具有不同参数的多个响应 (200)

Apiary.io - multiple responses (200) with different parameters

我试图通过不同的参数获得不同的响应,但有些东西不起作用。

这是我的 API:

## Question [/questions/{question_id}]

A Question object has the following attributes:

+ Parameters
    + question_id: `1` (number, required) - ID of the Question in form of an integer

### View a Questions Detail [GET]

+ Request

+ Header

    X-Custom-Header : 1

+ Response 200 (application/json)

        {
            "id": "1",
            "name": "Marco"
        }


+ Request

+ Header

    X-Custom-Header : 2

+ Response 200 (application/json)

        {
            "id: "2",
            "name": "Lucas"
        }

但是当调用 /questions/1 或 /questions/2 时,响应总是相同的:

{
    "id": "1",
    "name": "Marco"
}

怎么了?

谢谢

你的蓝图没有问题。恐怕 Apiary Mock 相当简单,并且总是 returns 默认指定第一个响应(允许内容协商)。

参见 Apiary http://support.apiary.io/knowledgebase/articles/117119-handling-multiple-actions-on-a-single-resource 的 "Invoking non-default responses" 了解如何调用(按需)另一个响应。

另请注意,API 蓝图中提出了一种语法,用于明确说明哪些参数值与特定响应相关联 – https://github.com/apiaryio/api-blueprint/issues/58

然而,Apiary 的 mock 是否会利用这一点目前尚不清楚。

我相信有一个简单的解决方案可以不使用 headers:

创建不同的资源(每条记录一个),所以每个都会生成一个URL。

## Note20 [/notes/20]

### Get notes20 [GET]

+ Response 200 (application/json)

        {
            "id" : 20,
            "name" : "note xxxx"
        } 

## Note21 [/notes/21]

### Get notes21 [GET]

+ Response 200 (application/json)

        {
            "id" : 21,
            "name" : "note yyyyy"
        }