【问题标题】:Not a valid Odata path template不是有效的 Odata 路径模板
【发布时间】:2015-11-03 17:00:41
【问题描述】:

我正在尝试创建满足 url 之类的 Odata 方法

domain:port/products/100/RedirectUrl()

[ODataRoute("{id}/RedirectUrl()")]
public IHttpActionResult RedirectUrl(int id)
{
   return Redirect("myUrl" + id);
}

但我遇到了异常

路径模板 '{id}/RedirectUrl()' 在动作 'RedirectUrl' 中 控制器“产品”不是有效的 OData 路径模板

我的 Webapi 配置包含

ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Product>("Products");
builder.EntityType<Product>().Function("RedirectUrl").Returns<IHttpActionResult>();

有什么方法可以做到这一点?

【问题讨论】:

    标签: c# asp.net-web-api odata asp.net-web-api-odata


    【解决方案1】:

    我想你想启用 Key as segment,跟踪这个https://github.com/OData/WebApi/pulls,然后你可以设置 UrlConventions.ODataUrlConventions 来启用它。或者你必须重写 DefaultODataPathHandler 来实现这一点,可能需要复制一些私有方法,如 Parse。

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 2018-03-31
      • 2014-08-27
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 1970-01-01
      • 2020-10-27
      相关资源
      最近更新 更多