我正在使用swagger-ui来尝试标准化API文档。我意识到对于使用body参数并因此需要显示模型和模型模式的动词(GET,PUT,POST等),模式正在资源级别定义(宠物商店中的/ pet或/ store)例)。但是,在我们的API中,所需的身体参数将从动词变为动词,并且为每个准确地反映这一点的模型将会很好。
http://petstore.swagger.wordnik.com/api/api-docs/pet中模型定义的当前版本,其中模型定义如下:
swagger-ui-model-def http://i58.tinypic.com/15phegg.png
有没有办法在动词级别覆盖默认的资源级模型?
答案 0 :(得分:1)
在swagger 2.0规范中,每个资源都有HTTP方法的子部分(get,post,delete等)。其中每个都有一个参数标签,它映射到下面表格的JSON对象列表。为了使该主体使用单独的模式,可以使用模式标记和$ref
子标记覆盖它,然后引用您在底部的定义子部分中单独提供的定义。
{
name: "body",
in: "body",
description: "set the properties of a pet",
schema: {
$ref: "#/definitions/PetPut"
},
required: true
}