swagger实战踩坑1

1.swagger error 有详细的错误信息

  • 自己根据详细信息找问题

2.swagger error 无详细的错误信息

swagger实战踩坑1

  • Controller是否重名=》重名,指定不同的   [Route("*****")]
  • Controller必须制定   [HttpPost]  或者   [HttpGet]

3.swagger无注释

  • 引用项目,依次执行如下操作
    • 项目=》属性=》生成:输出:XML文档文件,指定至固定目录
  • webapi项目,添加链接文件(上一步的xml文件)
  • 链接文件,依次执行如下操作
    • 属性=》生成=》始终复制
  • Startup.cs中的 ConfigureServices(IServiceCollection services)中,添加如下代码:
            services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "Platform.Service.Enterprise.WebApi API", Version = "v1.0.0.0" });
c.DescribeAllEnumsAsStrings();
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var docPath = Path.Combine(basePath, "Docs");
var docs = XMLUtil.CreateXPathDocumentsFromDirectory(docPath);
docs.ForEach(xp => c.IncludeXmlComments(() => { return xp; }));
});
  • Startup.cs中的 Configure(IApplicationBuilder app, IHostingEnvironment env)中,添加如下代码:
           app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Platform Enterprise WebApi API");
});
  • 重新生成解决方案
上一篇:初步理解socket


下一篇:java reflect反射调用方法invoke