Подтвердить что ты не робот

Apiary.io - множественные ответы (200) с разными параметрами

Я пытаюсь получить разные ответы, передавая разные параметры, но что-то не работает.

Это мой API:

## Question [/info/{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"
        }

Но при вызове /info/1 или /info/2 ответ всегда один и тот же:

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

Что не так?

спасибо

4b9b3361

Ответ 1

В вашем проекте ничего не случилось. Я боюсь, что Apiary Mock довольно упрощен и всегда возвращает первый ответ, указанный (разрешение на согласование контента) по умолчанию.

См. "Вызов ответов не по умолчанию" в Apiary http://support.apiary.io/knowledgebase/articles/117119-handling-multiple-actions-on-a-single-resource, чтобы узнать, как вызвать (по требованию) другой ответ,

Также обратите внимание, что в API Blueprint предлагается синтаксис, чтобы явно указать, какие значения параметров привязаны к конкретному ответу - https://github.com/apiaryio/api-blueprint/issues/58

Однако не ясно ли это в настоящее время.

Ответ 2

Я считаю, что есть простое решение для этого, не используя заголовки:

Создайте разные ресурсы (по одной для каждой записи), чтобы каждый из них создавал один 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"
        }