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"
}
我试图通过不同的参数获得不同的响应,但有些东西不起作用。
这是我的 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"
}