Как повторно использовать объекты в схеме API BluePrint?
Я создал API, который доставляет ресурс с именем "Миниатюра" (/ миниатюры)
{
"name": "toto",
"uri": "http://xxx"
}
С другой стороны, у меня есть несколько ресурсов, которые включают в себя ресурс Thumbnail (например, / article, /videos ...):
{
"name": "playlist",
"thumbnail":
{
"name": "toto",
"uri": "http://xxx"
}
}
Когда я пишу схемы этих веб-сервисов в уценке BluePrint, я хотел бы иметь возможность повторно использовать схему, которую я создал для схемы Thumbnail, чтобы не повторять код в схемах. У меня есть черта черты характера ( https://github.com/apiaryio/api-blueprint/issues/47), но я не знаю, будет ли она соответствовать моим потребностям и будет ли она работать с aglio и dredd.
Вы знаете, что лучше всего делать в моем случае?
3 ответа
Я приведу вам пример:
Мой мд:
# Data Structures
## Video (object)
Definition of a video
+ id: 11111 (number, required) - The unique key
+ description: "my video" (string, required) - Free text of video
+ truc: "ffff" (string, required)
## A video [/videos/{id}]
See a video
+ Parameters
+ id (required, string, `a-la-decouverte-des-metiers-projection-du-film`) ... L'id ou le slug de la video
### Select a video [GET]
+ Response 200 (application/json)
+ Attributes (Video)
И мой API:
{
"id": "1111",
"description": "description of the video",
"uri": "http://"
}
Тест в порядке, но я хочу ошибку от dredd!!!
Поэтому я обновил свой dredd и протестировал MSON. Это круто и эффективно. У меня просто проблема с этим MD:
# Data Structures
## Video (object)
Definition of a video
+ id: 11111 (number) - The unique key
+ description: "my video" (string) - Free text of video
+ truc: "ffff" (string)
# Group VideosTest
## Videos List [/videos]
List of videos
### List of videos [GET]
+ Response 200 (application/json)
+ Attributes (array[Video])
Тест не проходит, но у меня нет атрибутов "truc" в моем реальном API, и у меня есть атрибут URL. Поэтому я ожидал, что тест провалится. Я ошибся?