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"

参考地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio

要在应用的根 (http://localhost:<port>/) 处提供 Swagger UI,请将 RoutePrefix 属性设置为空字符串:

可能是设置了和程序中的默认地址冲突了,但不知道为什么之前2.X就不存在问题。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM