APIB - 始终响应 POST 请求,无论请求有效负载如何。

APIB - Always responding to a POST request, regardless of the request payload.

我正在尝试结合 Api 蓝图和 Drakov 来模拟 API。但是,对于一个特定的端点,我事先并不知道请求负载是什么。请看下面的代码。

# Group Stuff

Description about stuff.

## Main Stuff Resource [stuff/{userId}/response/{responseId}]

+ Parameters
    + userId: specialUser (string, required) - ID of user
    + responseId: 0f9d78ee-005056ad6f10 (string, required) - ID for a particular response.

### Submit Survey Form [POST]

+ Attributes
    + attribute1 (array[object]) - Description for attribute 1
    + attribute2 (array[object]) - Description for attribute 1

+ Request (application/json)
    {attribute1:[],attribute2[]}

+ Response 201  (text/plain; charset=utf8)
    + Headers
        X-XSS-Protection: 0
        Vary:Origin,Accept-Encoding
        Access-Control-Allow-Credentials:true
    + Body
        http://fakeurl.com

以上代码有效,但仅当请求负载 完全 {attribute1:[],attribute2:[]} 时有效。甚至不同的空格似乎也会提示它,return向用户发送 404 和来自 Drakov 的错误日志:[WARNING] JSON body could not be parsed. Using body as is.

我尝试删除 Attributes 部分,删除 Request 部分,从 Request 部分删除 JSON 示例,删除除 Response 部分,以及使用 Schema 部分。 None 这些似乎有效,我在 API 蓝图文档中找不到任何提及。

如果我不知道请求负载或内容的格式,我怎么能总是return响应那个端点的POST请求attribute1attribute2 将是?

嘿@LanceLafontaine 我是 Drakov 维护者之一。

您是否尝试将请求更改为 { "attribute1": [], "attribute2": [] }(在蓝图 API 规范文件中)

欢迎在 Drakov 存储库 http://github.com/Aconex/drakov/issues

上 post 提出问题

我看了解析代码已经有一段时间了,但我认为 Attribute 部分没有被 Drakov 解析,它会尝试匹配 Request 部分基于您 post 编辑的内容。