2015-08-11 2 views
0

J'am trying pour create method Odata cette satisfy url likePas d'un template path Odata valid

domain: port/produits/100/RedirectUrl()

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

mais i got exception comme

le modèle path '{id}/redirectUrl()' sur l'action 'redirectUrl' dans le contrôleur 'Produits' est n ot un modèle de chemin OData valide

Ma config WebAPI contient

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

Toute façon d'y parvenir?

Répondre

0

Je pense que vous souhaitez activer la clé en tant que segment, suivez ce https://github.com/OData/WebApi/pulls, puis vous pouvez définir UrlConventions.ODataUrlConventions pour l'activer. Ou vous devez remplacer le DefaultODataPathHandler pour y parvenir, peut-être besoin de copier une méthode privée comme Parse.