我有一個 ASP.NET Core 5 Web API,其中路由不匹配。它在本地作業正常,但在服務器上不起作用。日志顯示我
沒有找到請求路徑的候選者
但我看到了請求路徑,它是正確的。
我想記錄所有的路線,只是為了看看我的應用程式認為是什么路線。查看服務器上的不同之處可能會有所幫助。
uj5u.com熱心網友回復:
我建議使用Swagger. 它是一個非常常用的工具,列出了所有 API 控制器、端點和模型。為 .Net 5 設定它在 Microsoft 的來源中有詳細記錄:https : //docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore- 5.0#swagger-ui
uj5u.com熱心網友回復:
請嘗試以下操作:
- 將
IActionDescriptorCollectionProvider(fromMicrosoft.AspNetCore.Mvc.Infrastructure) 作為引數添加到Configure(...)insideStartup.cs。 - 迭代
ActionDescriptors的IActionDescriptorCollectionProvider。
例子
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILogger log, IActionDescriptorCollectionProvider actionProvider)
{
// configuration
app.UseMvc();
var routes = actionProvider.ActionDescriptors.Items
.Where(x => x.AttributeRouteInfo != null);
foreach(var route in routes)
{
log.LogDebug($"{route.AttributeRouteInfo.Template}");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401362.html
標籤:asp.net核心 .net-5 asp.net-路由
