【问题标题】:SwaggerResponse attribute when using HttpStatusCode.OK, does not display in UI使用 HttpStatusCode.OK 时的 SwaggerResponse 属性,在 UI 中不显示
【发布时间】:2019-01-31 17:38:20
【问题描述】:

我有一个 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 上?

提前感谢您的帮助

[编辑1]

响应在创建的定义文件中,只是没有显示在 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"
        }
      }

但 UI 中只显示 400 和 500

【问题讨论】:

    标签: asp.net-web-api2 swagger-ui swashbuckle


    【解决方案1】:

    好的,我的问题是我有 css 来隐藏显示在文档顶部的响应。我有这个,因为它经常显示为空,但那是在我开始添加 SwaggerResponse 属性之前。

    POSTS 的顶部仍然显示为空,但添加 [SwaggerResponseRemoveDefaults] 可以解决此问题。

    因此,对于 GETS 似乎想将200 放在顶部,与底部的响应分开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      相关资源
      最近更新 更多