我使用Swagger / Swashbuckle 5.6版为我的ASP.Net Web API 2项目生成文档。
默认情况下,可以通过网址http://localhost:56081/swagger/ui/index
访问API文档但是,我希望它应该在http://localhost:56081/apihelp/
上提供我经常搜索,尝试更改SwaggerConfig.cs文件中的设置,但似乎没有任何效果。
那么,这甚至可能吗?如果是的话,有人可以帮我吗?
答案 0 :(得分:7)
您可以添加EnableSwaggereUi
来电的路径,
e.g:
SwaggerConfig.Register(HttpConfiguration config)
{
config.EnableSwaggerUi("apihelp/{*assetPath}", c =>
... // following lines omitted
}
然后,您可以使用网址http://localhost:56081/apihelp/index
调用UI请参阅https://github.com/domaindrivendev/Swashbuckle#custom-routes以供参考。
请注意:默认设置'swagger'会自动重定向到'swagger / ui / index',但是当您使用'apihelp'时,此自定义设置不会自动重定向到'apihelp / index'。
要实现自动重定向,您可以在WebApiConfig
:
config.Routes.MapHttpRoute(
name: "Swagger UI",
routeTemplate: "apihelp",
defaults: null,
constraints: null,
handler: new RedirectHandler(message => message.RequestUri.ToString().TrimEnd('/'), "/index"));
重定向代码基于v.karbovnichy在How to redirect from root url to /swagger/ui/index?
中的回答