为什么添加ApiExplorer会破坏Swashbuckle?



添加

services.AddVersionedApiExplorer();

之前正常工作的Swashbuckle开始显示空白的Swagger json,默认版本,没有端点。

ApiExplorer似乎需要在API控制器上存在apicontrollererattribute。所以,如果你没有用这个属性装饰你的控制器,一切都将完美地工作,直到你添加ApiExplorer,之后Swachbuckle将表现得像你的项目中根本没有控制器一样(显然,这就是ApiExplorer告诉它的)。

[ApiController]装饰控制器可以修复此问题。如果你不想麻烦地编写RegExp来为你应用这些更改,或者甚至进入每个单独的控制器文件手动粘贴,[assembly:ApiController]将一次处理所有这些更改。

相关内容

最新更新