c# - 未显示 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, ...)]
了它,但没有任何变化。
解决方案
事实证明,[SwaggerResponse]
工作正常,但在此之前,我需要在我的启动中“启用注释”......
services.AddSwaggerGen(config =>
{
config.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Some API",
Version = "v1"
});
config.EnableAnnotations();
});