我有一個 net5.0 休息服務,ServiceStack 5.14 在 Visual Studio Professional 2022 中運行。
路由在 Apphost.cs 中像這樣定義
public override RouteAttribute[] GetRouteAttributes(Type requestType)
{
var routes = base.GetRouteAttributes(requestType);
routes.Each(x => x.Path = "/api" x.Path);
return routes;
}
給我們一個 ServiceStack RouteAttribute.paths 像 "/api/things" .. 一切都很好,正如預期的那樣。
但是如果我在 VS 中運行它并請求 http://localhost:64200/api/things 我會得到一個 Http 405 和一個“NotImplementedException”
如果我請求 http://localhost:64200//api/things(請注意埠后的“//”),它可以使用 HTTP 200。遺憾的是,沒有預料到并破壞了我的客戶端。
有人知道是什么原因造成的嗎?我想也許是一些 Kestrel &/ Visual Studio 的惡作劇,但我正在運行其他沒有 ServiceStack 的 netcoreapps,它們按預期服務......
uj5u.com熱心網友回復:
由于您正在動態使用/apiAPI 的路由,因此您需要禁用內置 /api 路由:
ConfigurePlugin<PredefinedRoutesFeature>(feature => feature.JsonApiRoute = null);
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/490311.html
