我正在尝试创建满足url的Odata方法
域:端口/产品/ 100 /的redirectUrl()
[ODataRoute("{id}/RedirectUrl()")]
public IHttpActionResult RedirectUrl(int id)
{
return Redirect("myUrl" + id);
}
但我有例外
“RedirectUrl”操作中的路径模板“{id} / RedirectUrl()” controller'Products'不是有效的OData路径模板
我的Webapi配置包含
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Product>("Products");
builder.EntityType<Product>().Function("RedirectUrl").Returns<IHttpActionResult>();
有任何方法可以达到这个目的吗?
答案 0 :(得分:0)
我认为你想要启用Key as segment,跟踪这个https://github.com/OData/WebApi/pulls,然后你可以设置UrlConventions.ODataUrlConventions来启用它。或者你必须覆盖DefaultODataPathHandler来实现这一点,可能需要复制一些像Parse这样的私有方法。