在net5 web api中升级Swashbuckle后如何使用SwaggerResponse?

问题描述

我们有一个包含约 150 个控制器(约 500 个方法)的 Web API,我们将其从 Core2.2 升级到 net5.0,同时我们升级了 Swashbuckle 包。

旧版本的 Swashbuckle 使用 SwaggerResponse 属性在 SwaggerUI 上显示信息,我们在大约 500 个方法中大量使用它。

在某些时候,SwaggerResponse 属性已被弃用,推荐的解决方案是一种不同的方法https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/159

有没有办法

  • 要么在最新的 Swashbuckle 中使用 SwaggerResponse 属性,要么
  • 转换现有代码

解决方法

建议您使用 ProduceResponseTypeAttribute,但是您仍然可以通过 NuGet 包 Swashbuckle.AspNetCore.Annotations 使用 SwaggerResponse

类型 SwaggerResponse 并未完全删除,它只是从主 Swashbuckle 包(即 Swashbuckle.AspNetCore)移至可选的额外包 Swashbuckle.AspNetCore.Annotations