我有一个安装了 Swashbuckle 的 WebApi 项目。
在默认设置中,我必须在浏览器中打开 http://localhost:56131/swagger/ui/index
以查看我的操作描述和测试页面。我希望它可以从站点的根目录访问:http://localhost:56131/
。我怎样才能做到这一点?
最佳答案
受 this answer to similar question 影响,稍作修改的代码:
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 Controller 。
此解决方案基于 Swashbuckle.Core
程序集中已有的类 RedirectHandler
。
关于c# - 如何从根 url 重定向到/swagger/ui/index?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37724666/