Я пытаюсь сделать свою документацию Swagger домашней страницей в моем API, используя следующий код:
var uri = new Uri(HttpContext.Current.Request.Url.ToString());
var swaggerUri = new Uri(uri.GetLeftPart(UriPartial.Path) + "/api/doc/index").ToString();
//Check if the Uri points to localhost
if(uri.ToString().Contains("127.0.0.1"))
app.Run(async ctx => { ctx.Response.Redirect($"{HttpContext.Current.Request.ApplicationPath}api/doc/index"); });
else
//Problem here
app.Run(async ctx => { ctx.Response.Redirect(swaggerUri); });
Переменная swaggerUri
устанавливает правильный URL-адрес пути, содержащего документацию Swagger, но при развертыванииApi на IIS app.Run(async ctx => { ctx.Response.Redirect(swaggerUri); })
перенаправляет на следующий URL:
http://testes/webapiapi/doc/index
вместо
http://testes/webapi/api/doc/index
пропускает косую черту после /webapi
.
* Изменения сделаныдля лучшего разрешения проблемы.