gpt4 book ai didi

asp.net-core - Swashbuckle.AspNetCore : 'No operations defined in spec!' problem after update of 'Microsoft.AspNetCore.Mvc.ApiExplorer' package to 2. 2.0

转载 作者:行者123 更新时间:2023-12-03 14:25:09 53 4
gpt4 key购买 nike

我们有使用 Swagger 的 .net core 2.1 mvc webapi 项目。
我们使用以下软件包:

<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="3.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="4.3.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Version="2.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.1.1" />

swashbuckle 的配置方式如下:
services.AddMvcCore().AddVersionedApiExplorer();
services.AddApiVersioning();
services.AddSwaggerGen();

在这种设置中一切正常( /swagger/v1/swagger.json 具有所有操作和定义,并且 UI 呈现正确 -> 具有所有 Controller 和 Action 等)

我们正在尝试将我们的 .net 核心项目从 2.1 迁移到 2.2 .net 核心。

为了做到这一点(没有警告),我们需要升级 Microsoft.AspNetCore.Mvc.ApiExplorer从 2.1.2 到 2.2.0。

在此 nuget 更新 swagger.json ( /swagger/v1/swagger.json ) 之后不包含任何 "paths": {}"definitions": {}这导致 swagger UI 不显示 Controller / Action (它呈现: No operations defined in spec!
升级包后,这些包版本更新:
<PackageReference Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Version="2.2.0" /> //was 2.1.2
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.2.0" /> //was 2.1.1

我尝试将 swashbuckle 版本升级到 v4.0.0,但没有解决问题。

我还缺少哪些软件包需要更新,所以 swagger.json使用 Microsoft.AspNetCore.Mvc.ApiExplorer 2.2.0 时会正确生成包裹 ?
还是我错过了其他东西?

最佳答案

刚刚遇到了同样的问题,我想我也会分享我的解决方案。版本 6.0.4。
我必须将 [ApiController] 属性添加到我的 Controller 中。 Swagger 必须使用它来进行发现。

关于asp.net-core - Swashbuckle.AspNetCore : 'No operations defined in spec!' problem after update of 'Microsoft.AspNetCore.Mvc.ApiExplorer' package to 2. 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56382938/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com