我使用swashbuckle来记录我的网络API项目,而且我无法为前提条件失败案例添加多个响应,swagger只显示最后一个。
/// <response code="200">OK</response>
/// <response code="401">Unauthorized</response>
/// <response code="400">BadRequest</response>
/// <response code="412">ErrorCode = 1... </response>
/// <response code="412">ErrorCode = 2... </response>
/// <response code="412">ErrorCode = 3... </response>
Swashbuckle产生类似:
{
...
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
},
"412": {
"description": "ErrorCode = 3..."
}
}
...
}
我希望看到的地方:
{
...
"412": {
"description": "ErrorCode = 1..."
},
"412": {
"description": "ErrorCode = 2..."
},
"412": {
"description": "ErrorCode = 3..."
}
}
有什么想法吗?
提前致谢
答案 0 :(得分:1)
Swashbuckle无法实现您的目标,因为它不符合Open API规范(又名Swagger)。响应对象包含可能响应的列表。每个回复都有一个名称和response object。名称可以是default
或HTTP状态代码。根据{{3}}的规范,每个状态代码只能有一个响应对象:
任何HTTP状态代码都可以用作属性名称(每个HTTP状态代码一个属性)。描述该HTTP状态代码的预期响应。
话虽如此,我怀疑将额外的错误代码添加到412响应是否正确。如果代理服务器已经知道不匹配的条件,则条件请求可能无法到达您的服务器。