如何将Swagger设置为ABP模板中的默认起始页 而不是/Account/Login
?
我正在使用ASP.NET MVC 5.x + Angular 1.x。
当前代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//ASP.NET Web API Route Config
routes.MapHttpRoute(
name: "swagger_root",
routeTemplate: "",
defaults: null,
constraints: null,
handler: new RedirectHandler((message => message.RequestUri.ToString()), "swagger"));
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
除了模块零"api/Account/Authenticate"
已破坏的请求外,一切仍然正常,显示:
无法找到资源。
答案 0 :(得分:5)
在this中添加RouteConfig.cs路由,如下所示:
a = [1,1,2,2,3,4]
# first time shuffle
sliced = a.shuffle.each_slice(2).to_a
# checking if there are matches and shuffle if there are
while sliced.combination(2).any? { |a, b| a.sort == b.sort } do
sliced = a.shuffle.each_slice(2).to_a
end
答案 1 :(得分:5)
我知道主要问题是针对ASP.Net MVC的,但是对于ASP.Net Core,此答案是一个类似问题(使用SwaggerUI)的一个不错的解决方案:https://stackoverflow.com/a/50127631/1179562
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "";
...
};
答案 2 :(得分:4)
答案 3 :(得分:2)
在 Asp .Net Web Api Core 3.x 中,只需执行此操作 (RoutePrefix):
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Baha'i Prayers API");
c.InjectStylesheet("/swagger/custom.css");
c.RoutePrefix = String.Empty;
});
答案 4 :(得分:1)
我转到“解决方案资源管理器面板”>“属性”。在其中,我找到了一个名为launchsettings.json的文件。
在该文件中,我在找到它的所有部分中将“ launchUrl”参数的值更改为“ swagger / index.html”。
对我有用。
================================================ ===============================
Soluciones小组委员会> Propiedades,所有档案资料都来自launchsettings.json。
在“ swagger / index.html”上修改并修改了“ launchUrl”,并为我提供了功能。
Saludos。
答案 5 :(得分:0)
答案 6 :(得分:0)
在Visual Studio,IIS Express和IIS中,对我来说都很有效的方法。创建具有以下内容的控制器:
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace WebApplication.Controllers
{
/// <summary>
/// Controller to display API documentation in Swagger format
/// </summary>
[Route("")]
[ApiExplorerSettings(IgnoreApi = true)]
public class DocsController : Controller
{
[Route("docs"), HttpGet]
[AllowAnonymous]
public IActionResult ReDoc()
{
return View();
}
[Route(""), HttpGet]
[AllowAnonymous]
public IActionResult Swagger()
{
return Redirect("~/swagger");
}
}
}
注意:在Visual Studio中,编辑launchsettings.json文件效果很好,但是坚持认为在IIS上托管应用程序时,它无法按预期工作。
通过这种方式,我发现它比在几个不同位置创建大量配置更干净。