Umbraco 7路由到自定义控制器的其余API
问题描述:
我想映射路由到ApiController,以发布数据到它。 我没有使用Surface控制器,因为我想要一个干净的网址,如/api/test/{action}
,而url中没有umbraco/surface
部分。Umbraco 7路由到自定义控制器的其余API
我试图使用
RouteTable.Routes.MapHttpRoute(
"ApiTest",
"Api/Test/{action}",
new
{
controller = "Api_Test",
action = "Search"
});
但我发现了一个错误,因为MapHttpRoute需要4弦[]参数。
如何映射该路线? 然后我会发布一个json或xml并返回响应(json或xml)。
答
改为使用RouteTable.Routes.MapRoute。我之前在Umbraco的网站上使用过它,并且工作正常,例如
RouteTable.Routes.MapRoute(
name: "cookie-api-location",
url: "cookie-api/setregioncheckcookie/",
defaults: new
{
controller = "Cookie",
action = "SetRegionCheckCookie"
}
);
为什么你不使用已应用自动路由的UmbracoApiController? https://our.umbraco.org/documentation/reference/routing/webapi/ –
因为我不希望Url – GiuServ
中的'/ Umbraco /'足够公平。选中此项:https://www.andreasjohansson.eu/technical-blog/configuring-custom-web-api-routing-for-umbraco-sites/,但忽略3+项,并用覆盖项替换为简单的EventHandler。它应该做它的工作。 –