我有一个asp.net WebAPI REST服务,其中合并了Swashbuckle。我正在使用SwaggerResponse
,以便可以在UI中获得它。
例如,在我的控制器方法之上,我有
[SwaggerResponse(HttpStatusCode.OK, "Success", typeof(MyModel))]
我有以下内容版本。
<package id="Swashbuckle" version="5.6.0" targetFramework="net47" />
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net47"
例如,如果我使用HttpStatusCode.Created
或除HttpStatusCode.OK
之外的任何状态代码,它都可以正常工作...
但是,一旦我使用HttpStatusCode.OK
,它就不会显示出来。
我很困惑!
没有人知道为什么它不只出现在HttpStatusCode.OK
吗?
在此先感谢您的帮助
[EDIT1]
响应在创建的定义文件中,只是不显示在UI中。 即我有
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ClientResultsCollectionModel[ResultsModel]"
}
},
"400": {
"description": "Invalid input data",
"schema": {
"$ref": "#/definitions/ErrorResponseModel"
}
},
"500": {
"description": "Internal Error",
"schema": {
"$ref": "#/definitions/ErrorResponseModel"
}
}
,但用户界面中仅显示了400和500
答案 0 :(得分:0)
好吧,我的问题是我有CSS来隐藏显示在文档顶部的响应。我有这个,因为它经常显示为空,但这是在我开始添加SwaggerResponse
属性之前。
对于POSTS,它仍然在顶部显示为空,但是添加了[SwaggerResponseRemoveDefaults]
来解决此问题。
因此,对于 GETS ,似乎想将200
放在顶部,与底部的响应分开。