通过代理转发后,webapi的swagger无法访问,本质原因是代理后url路径发生变化导致/swagger无法定位到json。#https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbucklec.SwaggerEn...
通过代理转发后,webapi的swagger无法访问,本质原因是代理后url路径发生变化导致/swagger无法定位到json。
#https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
相关issue:
https://github.com/microsoft/service-fabric-issues/issues/327
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/662
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/427
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/380
issue评论中,一般推荐通过PreSerializeFilters设置BasePath的方案,但在5.x版本中BasePath被删除了。最终选择使用设置相对路径的方案:
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/380#issuecomment-374711180
代码请见 https://github.com/wswind/swagger-under-nginx/blob/f5f6f89cb7f109059f5b4c9524a7ccbb401bc59a/Startup.cs#L56
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("v1/swagger.json", "My API V1");
});
本文标题为:asp.net core swagger (Swashbuckle ) 设置nginx proxy后,无法访问的问题
基础教程推荐
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- C# 调用WebService的方法 2023-03-09
- C# List实现行转列的通用方案 2022-11-02
- C#类和结构详解 2023-05-30
- C#控制台实现飞行棋小游戏 2023-04-22
- 一个读写csv文件的C#类 2022-11-06
- C# windows语音识别与朗读实例 2023-04-27
- unity实现动态排行榜 2023-04-27
- winform把Office转成PDF文件 2023-06-14
- ZooKeeper的安装及部署教程 2023-01-22