-1
votes

Comment puis-je ajouter plusieurs itinéraires dans web.api

J'ai créé un web.api ASP.NET. J'ai un contrôleur nommé livre qui a 2 méthodes qui ressemblent à ceci. xxx pré>

Comment puis-je ajouter des itinéraires pour les deux méthodes de mon webapiconfig code> fichier webapiconfig p >

En ce moment, je n'ai que cela qui fonctionne uniquement sur la méthode de lecture. P>

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{pass}/{Id}",
            defaults: new { transationId = RouteParameter.Optional }
        );


0 commentaires

4 Réponses :


0
votes

S'il vous plaît jeter un oeil ici . Vous pouvez marquer votre contrôleur en tant qu'Apicontroller, spécifier la route générale, puis définir le verbe HTTP et le chemin de la méthode avec le paramètre de route. Cela écrasera votre définition de routres.maphttproute.


0 commentaires

1
votes

Vous pouvez utiliser l'itinéraire par défaut actuel pour la mise à jour également.Web API fournira un attribut [Fromuri] pour la lecture des paramètres d'action de URI de HTTPequestMessage.

[HttpPut]
    public IHttpActionResult Update([FromUri]string pass, [FromUri]string Id)
    {

        //do your stuff here and return
    }


0 commentaires

0
votes

Ajouter un attribut xxx

Ajoutez le routage dans webapiconfig xxx

Note: Cela doit être au-dessus de la itinéraire existant, sinon il aura la priorité.


1 commentaires

Merci @sakhib, cela a fonctionné mais je devais supprimer la route par défaut, sinon seule la méthode de mise à jour a fonctionné.



2
votes

Changez votre routage sur

config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{action}/{pass}/{Id}",
        defaults: new { transationId = RouteParameter.Optional }
    );


0 commentaires