У меня был сайт API, используй сваггер, чтобы выставить API.Версия ядра Dotnet - 2.1, а Swagger - Swashbuckle.AspNetCore 3.0.0.мой сайт API находится за обратным прокси-сервером (nginx), URL-адрес nginx https://www.aa.com/chat, сопоставлен с сервером backen http://127.0.0.1:5003/, а моя конфигурация swagger: ConfigureServices:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "aa.IM.CustomerApi", Version = "v1" });
var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
var controllerXmlPath = Path.Combine(basePath, "aa.IM.CustomerApi.xml");
var entityXmlPath = Path.Combine(basePath, "aa.IM.Entity.xml");
c.IncludeXmlComments(controllerXmlPath);
c.IncludeXmlComments(entityXmlPath);
//c.DescribeAllEnumsAsStrings();
});
Configure:
app.UseSwagger(c =>
{
});
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("v1/swagger.json", "aa.IM.CustomerApi");
});
тогда я могу войти в пользовательский интерфейс https://www.aa.com/chat/swagger/index.html, а затем пользовательский интерфейс может показать все идеально, но, когда я выполняю API (URI - это CUS / настройки), я нашелURL-адрес запроса https://www.aa.com/cus/settings неправильный, правильный URL-адрес https://www.aa.com/chat/cus/settings.
как я могу исправить конфигурацию сваггера, чтобы решить проблему?Я пробовал много способов, например http://eatcodelive.com/2017/05/19/change-default-swagger-route-in-an-asp-net-core-web-api/ и Как изменить базовый URL Swagger в ядре ASP.NET , но все это не может решить мою проблему.