如何从根URL重定向到/swagger/ui/index? [英] How to redirect from root url to /swagger/ui/index?
问题描述
我有一个安装了Swashbuckle的WebApi项目.
I have a WebApi project with Swashbuckle installed onto it.
在默认设置中,我必须在浏览器http://localhost:56131/swagger/ui/index
中打开才能查看我的操作说明和测试页.我希望可以从站点的根目录访问它:http://localhost:56131/
.我该如何实现?
In default setup, I must open in browser http://localhost:56131/swagger/ui/index
to view my operations description and test page. I want it to be accessible from root of the site: http://localhost:56131/
. How can I achieve this?
推荐答案
受此类似问题的答案的影响,略修改后的代码:
Influenced by this answer to similar question, slightly modified code:
public class WebApiConfig
{
public static void Configure(IAppBuilder app)
{
var httpConfig = new HttpConfiguration();
// Attribute routing
config.MapHttpAttributeRoutes();
// Redirect root to Swagger UI
config.Routes.MapHttpRoute(
name: "Swagger UI",
routeTemplate: "",
defaults: null,
constraints: null,
handler: new RedirectHandler(SwaggerDocsConfig.DefaultRootUrlResolver, "swagger/ui/index"));
// Configure OWIN with this WebApi HttpConfiguration
app.UseWebApi(httpConfig);
}
}
这样,就不必像@bsoulier那样在他的答案中创建新的WebAPI控制器.
This way it is not necessary to create new WebAPI controller as so did @bsoulier in his answer.
此解决方案基于Swashbuckle.Core
程序集中已经存在的类RedirectHandler
.
This solution is based on already existing class RedirectHandler
in Swashbuckle.Core
assembly.
这篇关于如何从根URL重定向到/swagger/ui/index?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!