我创建了一个API,它提供了一个名为" Thumbnail"的资源。 (/缩略图)
{
"name": "toto",
"uri": "http://xxx"
}
另一方面,我有多个资源,其中包含缩略图资源(例如/ articles,/ videos ...):
{
"name": "playlist",
"thumbnail":
{
"name": "toto",
"uri": "http://xxx"
}
}
当我在BluePrint markdown中编写这些web服务的模式时,我希望能够重用我为Thumbnail模式创建的模式,以便不重复模式中的代码。 我是Trait功能的核心(https://github.com/apiaryio/api-blueprint/issues/47),但我不知道它是否符合我的需求,是否适用于aglio和dredd。
你知道我的最好的事情吗?
答案 0 :(得分:10)
您可以使用API蓝图的MSON部分中的Attributes来定义可重复使用的对象。
答案 1 :(得分:0)
所以我更新了我的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。所以我期望测试失败。我错了吗 ?
答案 2 :(得分:0)
我举个例子:
我的md:
# 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 !!!
的错误