首页 > 解决方案 > 未显示 Swagger 响应描述

问题描述

我目前正在尝试在 Swagger UI 中显示特定响应的描述,但似乎没有真正涵盖所有方面的文档,以及我从Swashbuckle 和 ASP 入门中尝试过的所有示例。 NET Core在 .NET Core 3.1 中不起作用...

        /// <summary>
        /// Test route...
        /// </summary>
        /// <returns></returns>
        /// <response code="200">This is a test</response>
        [HttpGet]
        [ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
        public IActionResult Get()
        {
            return Ok("Hello World");
        }

我的 .csproj 还包含以下内容:

  <PropertyGroup>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);1591</NoWarn>
  </PropertyGroup>

Swagger UI 最终看起来像这样(如您所见,“Descriptipn”列不包含它可能应该包含的“这是一个测试”文本)。我错过了什么吗?

图像预览

我也添加[SwaggerResponse(StatusCodes.Status200OK, ...)]了它,但没有任何变化。

标签: c#.net-coreswaggerswagger-ui

解决方案


事实证明,[SwaggerResponse]工作正常,但在此之前,我需要在我的启动中“启用注释”......

    services.AddSwaggerGen(config =>
    {
        config.SwaggerDoc("v1", new OpenApiInfo
        {
            Title = "Some API",
            Version = "v1"
        });

        config.EnableAnnotations();
    });

推荐阅读