none
¿Cambiar ruta para llamar metodo en Web Api? RRS feed

  • Pregunta

  • Hola ...

    Tengo una  WEB API y tengo establecido para hacer llamadas a los metodos de la siguiente forma:

      config.Routes.MapHttpRoute(
                    "API Default", "api/{controller}/{action}/{id}",
                    new { id = RouteParameter.Optional });

    esto hace que mis EndPoint se vean  algo asi :

    http://localhost:5678/api/nombre_controlador/nombre_metodo

    quiero saber si existe algun decorador, que me permita llamar a un metodo especifico de la siguiente manera :

    http://localhoost:5678/nombre_metodo



    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    viernes, 26 de junio de 2020 20:07

Todas las respuestas

  • La primera opción es cambiar el mapa de rutas para que solo tenga el action, y luego el controller tenga un valor predeterminado. Más o menos es algo así:

      config.Routes.MapHttpRoute(
                    "API Default", "{action}/{id}",
                    new { controller="MiControlador", id = RouteParameter.Optional });

    Y después metes todos los métodos dentro de MiControlador. Con este mecanismo no pueden ir en controladores distintos porque no has previsto nada para indicar cuál es el controlador.

    Otra opción es poner la ruta deseada con un atributo en cada método.

    [Route("tuRuta")]

    Esto tiene prioridad sobre el mapa de rutas. Puedes poner este atributo sobre cualquier método en cualquier controlador para asignarle la ruta que desees.

    viernes, 26 de junio de 2020 20:40