2014-11-19 1 views
-1

Я использую Markdown для создания документации (aglio), генерации mocks (api-mock) и проверки ограничений целостности (dredd).Dredd (gavel): Начните с Json Schema с массивом (ошибка?)

С Dredd нет проблем с проверкой объекта, без проблем для PUT или POST, но у меня проблема со списками.

Мои списки являются массивами, но когда я пишу эту схему:

{ 
    "title": "Videos List", 
    "type": "array", 
    "items": { 
      "type":"object", 
      "required":false, 
      "properties": { 
       "id": { 
        "type": "string", 
        "required": true                
       } 
      }, 
      "required": true 
    } 
} 

я получаю ту же ошибку все время: body: JSON schema is not valid! invalid type: object (expected [object Object]/array) at path "/items"

Я попытался снова и снова, 3 часа, но я не смогли.

Пожалуйста, помогите!

PS: извините за мой английский, я французский.

+0

Можете ли вы опубликовать и пример тела PUT или POST, который не работает? – cloudfeet

+0

Здесь есть проблема: https://github.com/apiaryio/gavel.js/issues/43 – fosrias

ответ

0

Да, ваши данные снова верны этой схеме.

Это может быть специфическая проблема используемого вами валидатора (вы не указали, какой из них). Вы можете попытаться заключить ваши данные с помощью {}. Я предполагаю, что ожидает в JSON ВСЕГДА так:

{ 
    [ 
     { 
      "id": "ninon-retrouve-rudy", 
      "title": "Ninon retrouve Rudy edited" 
     }, 
     { 
      "id": "ninon-retrouve-rudy-1", 
      "title": "Ninon retrouve Rudy" 
     } 
    ] 
} 

Имейте в виду также, что ваш используют Draft03 из Json-схемы. Я предлагаю вам использовать Draft04 (ваш валидатор может быть устаревшим).