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"
}
Что не так?
спасибо
Ответы
Ответ 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"
}