none
Personalizar rutas en Web API - ASP.NET MVC 4 RRS feed

  • Pregunta

  • Hola.. compañeros.

    Bueno mi problema es el siguiente:

    Tengo una clase AnalisisExternoController que hereda de ApiController. Tengo dos métodos de acción dentro de este controller GetFuenteAE(int id) y Fuentes().

    He intentado personalizar las rutas de mi WebApiConfig para que pueda entender las siguientes solicitudes

    localhost/api/AnalisisExterno/3 y localhost/api/AnalisisExterno/Fuentes

    Mi WebApiConfig lo tengo de esta forma

    public static void Register(HttpConfiguration config)
    {
      config.Routes.MapHttpRoute(
          name: "ApiAction",
          routeTemplate: "api/{controller}/{action}/{id}",
          defaults: new { id = RouteParameter.Optional }
      );
    
      config.Routes.MapHttpRoute(
          name: "DefaultApi",
          routeTemplate: "api/{controller}/{id}",
          defaults: new { id = RouteParameter.Optional }
      );
    }

    El problema es que cuando hago la solicitud con localhost/api/AnalisisExterno/Fuentes, lo entiende perfecto, pero cuando hago la solicitud con localhost/api/AnalisisExterno/3 me da error, ya que dice que no hay un método de acción que se llame '3'. Osea que siempre evalua las rutas con la primer configuración.

    Como puedo personalizar mis rutas de tal forma que pueda entender cualquier tipo de solicitud y evaluarla con la ruta adecuada?

    Gracias por la colaboración. Saludos!!


    Oskr Rodriguez.

    viernes, 19 de septiembre de 2014 15:03

Todas las respuestas