【问题标题】:Swashbuckle does not display the API correctlySwashbuckle 无法正确显示 API
【发布时间】: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?

标签: asp.net-core swagger asp.net-core-webapi swashbuckle.aspnetcore


【解决方案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";
    }
}

结果:

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

【讨论】:

  • 是的,我已经解决了,不过还是谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 2018-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多