2016-07-08 3 views
0

Я пытаюсь высмеять API с комбинацией Api Blueprint и Drakov. Тем не менее, для одной конкретной конечной точки я не знаю заранее, какой будет полезная нагрузка запроса. См. Приведенный ниже код.APIB - всегда отвечает на запрос POST, независимо от полезной нагрузки запроса.

# 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:[]}. Даже разный whitespacing кажется, кончик его вверх, возвращая 404 к пользователю и журнал ошибок из Drakov: [WARNING] JSON body could not be parsed. Using body as is.

Я попытался удалить раздел Attributes, удалив раздел Request, удаляя пример JSON из раздела Request, удаляя все, кроме раздела Response, а также используя раздел Schema. Ни один из них, похоже, не работает, и я не могу найти упоминания об этом в документах API Blueprint.

Как я могу всегда вернуться, что ответ на запрос POST в этой конечной точке, учитывая, что я не знаю, что формат полезной нагрузки запроса или содержимое attribute1 и attribute2 будет?

ответ

1

Hey @LanceLafontaine Я один из сопровождающих Дракова.

Вы пробовали изменения запрос будет { "attribute1": [], "attribute2": [] } (В файле Blueprint API спецификации)

Вы можете разместить вопрос, а на репо Drakov http://github.com/Aconex/drakov/issues

Это было некоторое время, так как я ve посмотрел на код разбора, но я не думаю, что раздел Attribute анализируется Драковым, он попытается сопоставить раздел Request на основе того, что вы опубликовали.

+0

Это похоже на работу. Кажется, это комбинация использования раздела «Запросы», а также цитаты вокруг атрибутов, которые приводят к ее работе. +1 – LanceLafontaine

 Смежные вопросы

  • Нет связанных вопросов^_^