Saltar al contenido

ASP.NET Web API genera URL usando Url.Action

Esta es la solución más válida que encomtrarás brindar, sin embargo obsérvala detenidamente y analiza si se puede adaptar a tu trabajo.

Solución:

Tal vez el ayudante más cercano a Url.Action en Web Api Controller es el método Url.Link que generará la url por Nombre de ruta, Nombre de controlador, Nombre de acción y los parámetros de ruta (si es necesario).

Aquí hay un ejemplo simple

El App_start/RouteConfig.cs predeterminado

routes.MapRoute(
    name: "Default",
    url: "controller/action/id",
    defaults: new  controller = "Home", action = "Index", id = UrlParameter.Optional 
);

El controlador Web Api:

public class MyWebApiController : ApiController

    public string Get()
    
        var url = this.Url.Link("Default", new  Controller = "MyMvc", Action = "MyAction", param1 = 1, param2 = "somestring" );
        return url;
    

El controlador MVC

public class MyMvcController : Controller

    public ActionResult MyAction(int param1, string param2)
    
        // ...
    

La url generada por el controlador WebApi será http://myDomain/MyMvc/MyAction?param1=1¶m2=somestring.

No encontré cómo pasar el protocolo/esquema de URL pero en el y será solo un string y puede manipularlo si sabe cuál debería ser el protocolo.

Espero que esto ayude.

EDITAR:

Esto puede ayudar para la parte del protocolo: generar un enlace HTTPS en la API web usando Url.Link

Te mostramos comentarios y valoraciones

Acuérdate de que tienes la capacidad de valorar este ensayo si te fue preciso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *