Dan*_*son 15 c# swagger asp.net-core
我所要做的就是向ASP.Net Core应用程序添加招摇.我正在看一个教程,我看到他们所做的就是services.AddSwaggerGen();在Startup.cs文件的configure服务区域下添加.像任何像MVC这样的普通服务...但是我收到一个错误:
没有给出对应于所需形式参数'setupAction'的参数...
我没有看到有人提供任何争论,services.AddSwaggerGen()所以有谁知道我在这里缺少什么?
我添加了SwashBuckler.AspNetCore依赖项,因此swagger在应用程序中.只是不知道为什么它是红色并给出上述错误.
Mik*_*Mik 98
我有问题,那
IServiceCollection不包含'AddSwaggerGen'的定义
我想说,我安装了Swashbuckle.AspNetCore.Swagger nuget包而不是Swashbuckle.AspNetCore.
希望能帮到某人;)
Kar*_* VK 19
对于.Net core项目,需要安装四个包。最好使用 Nuget 包管理器,以便它采用适当的所需版本。
Microsoft.OpenApi
Swashbuckle.AspNetCore.Swagger
Swashbuckle.AspNetCore.SwaggerGen
Swashbuckle.AspNetCore.SwaggerUI
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为AddSwaggerGen()ASP.NET Core中的扩展方法的实现要求您提供Action<SwaggerGenOptions>用作设置操作的参数.例如:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
Run Code Online (Sandbox Code Playgroud)
您可以在此处了解有关如何使用ASP.NET Core应用程序设置Swagger的更多信息.
更新:
在以前的版本中,他们有AddSwaggerGen()扩展方法不接受任何参数,但这个调用伴随着调用ConfigureSwaggerDocument(Action<SwaggerGenOptions> setupAction).我猜他们刚刚摆脱ConfigureSwaggerDocument并为AddSwaggerGen()方法添加了设置动作.这就是说你的教程似乎显示了如何设置过时的Swagger版本.
迟到的答案,但作为这个问题的新更新,我刚刚注意到为了AddSwaggerGen在 .NET Core 3 中正常工作,您需要使用OpenApiInfo而不是Info. 所以你的新AddSwaggerGen应该是这样的:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "The API", Version = "v1" });
});
Run Code Online (Sandbox Code Playgroud)
您还需要将以下内容添加到您的using指令中:
using Microsoft.OpenApi.Models;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12188 次 |
| 最近记录: |