gpt4 book ai didi

asp.net-core - 获取 ASP.NET Core 3.0 中所有注册的路由

转载 作者:行者123 更新时间:2023-12-03 20:25:24 24 4
gpt4 key购买 nike

我正在尝试调试路由问题,我不确定外部应用程序必须点击哪个 url 才能正确触发我的 Controller 。我只想把它们全部打印出来。
我找到了 Get all registered routes in ASP.NET Core但似乎没有一个答案在 Asp.net Core 3.0 中有效
我还找到了 https://www.nuget.org/packages/AspNetCore.RouteAnalyzer , 但它适用于 Core 2.0

最佳答案

I just want to print them all out.


所以,我猜这是为了调试目的?
在这种情况下,这将使您开始:
public HomeController(IActionDescriptorCollectionProvider provider)
{
this.provider = provider;
}

public IActionResult Index()
{
var urls = this.provider.ActionDescriptors.Items
.Select(descriptor => '/' + string.Join('/', descriptor.RouteValues.Values
.Where(v => v != null)
.Select(c => c.ToLower())
.Reverse()))
.Distinct()
.ToList();

return Ok(urls);
}
这将以以下格式返回响应:
[
"/post/delete",
"/users/index/administration",
"/users/details/administration",
]
如果您需要更多信息,请访问 IActionDescriptorCollectionProvider有很多。

关于asp.net-core - 获取 ASP.NET Core 3.0 中所有注册的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62507930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com