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就不存在问题。。。

posted @   wangbg  阅读(883)  评论(2编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示