netcore3.1配置swagger时报错
错误描述:按照netcore2.X的配置,再次配置swagger后,/swagger/index.html打不开。。。
解决方案:在Startup.cs 文件中 Configure 方法里
//允许跨域 app.UseCors("any"); //启用中间件服务生成Swagger作为JSON终结点 app.UseSwagger(); //启用中间件服务对swagger-ui,指定Swagger JSON终结点 app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); c.RoutePrefix = string.Empty; });
把标黄色背景的这段去掉了就可以了。或者改为特定的路由,替换默认的 swagger,如
c.RoutePrefix = "doc";
则swagger的访问地址变为"/doc/index.html"
要在应用的根 (http://localhost:<port>/) 处提供 Swagger UI,请将 RoutePrefix 属性设置为空字符串:
可能是设置了和程序中的默认地址冲突了,但不知道为什么之前2.X就不存在问题。。。