2015-08-11 2 views
0

Я пытаюсь создать метод OData, которые удовлетворяют URL какНе правильный путь OData шаблон

домен: порт/Продукты/100/RedirectUrl()

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

, но я получил исключение как

шаблон пути '{ID}/RedirectUrl()' на действия '' RedirectUrl в контроллера 'Продукты' равно п Ot действительного шаблон пути OData

Мой WebAPI конфигурация содержит

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

Любого путь для достижения этой цели?

ответ

0

Я думаю, что вы хотите включить Key как сегмент, отследите это https://github.com/OData/WebApi/pulls, тогда вы можете установить UrlConventions.ODataUrlConventions, чтобы включить его. Или вам нужно переопределить DefaultODataPathHandler, чтобы достичь этого, возможно, потребуется скопировать некоторые частные методы, такие как «Анализ».

Смежные вопросы