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