Swashbuckle 无法正确显示 API

Posted

技术标签:

【中文标题】Swashbuckle 无法正确显示 API【英文标题】:Swashbuckle does not display the API correctly 【发布时间】:2022-01-18 05:51:27 【问题描述】:

我的项目中使用了 Swashbuckle,我按照文档进行操作,但最后显示错误。

services.AddSwaggerGen(c =>
  
    c.SwaggerDoc("v1", new OpenApiInfo
    
        Version = "v1",
        Title = "ToDo API",
        Description = "A simple example ASP.NET Core Web API",
        TermsOfService = new Uri("https://example.com/terms"),
        Contact = new OpenApiContact
        
            Name = "Shayne Boyer",
            Email = string.Empty,
            Url = new Uri("https://twitter.com/spboyer"),
        ,
        License = new OpenApiLicense
        
            Name = "Use under LICX",
            Url = new Uri("https://example.com/license"),
        
    );
      );

    app.UseSwagger(c =>
    
        c.SerializeAsV2 = true;
    );

app.UseSwaggerUI(c =>
    
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    );

我做错了什么?感谢您的帮助!

【问题讨论】:

应用程序的控制台输出中是否有详细的错误描述?您使用什么版本的 .NET 和 Swashbuckle? 【参考方案1】:

我以前遇到过这个问题,我可以重现你的问题,但我不确定这是否是你的问题。

所有配置均遵循官方文档:

Get started with Swashbuckle and ASP.NET Core

那么这个错误的原因是你必须指定请求方法,你需要在方法中添加[HttpGet],[HttpPost]等,并且可以通过Swagger UI查看API,像这样:

[ApiController]
public class HomeController : Controller

   
    [HttpGet]
    [Route("test")]
    public string Test()
    
        return "Test";
    

结果:

如果以上方法都不能解决,能否贴出你的具体错误信息?

【讨论】:

是的,我已经解决了,不过还是谢谢!

以上是关于Swashbuckle 无法正确显示 API的主要内容,如果未能解决你的问题,请参考以下文章

.Net Core 2.0 中的 SwashBuckle UI 显示错误

Swashbuckle.AspNet.Core:Swagger UI 显示空白页面 - 如何修复?

在聊天应用程序中使用 Web 套接字 Api 无法正确显示图像

(转)WebApi自动生成在线文档Swashbuckle

csharp 在Swashbuckle Swagger中,此片段允许按字母顺序显示操作。

如何使用 Swashbuckle 的 SwaggerUI 显示静态 swagger.json 文件而不是 SwaggerGen 的动态创建的定义?