【问题标题】:How to I get the WebAPI Route Url using the Route Name如何使用路由名称获取 WebAPI 路由 URL
【发布时间】:2018-05-16 13:29:16
【问题描述】:

这个问题很天真,但我在网上或微软的文档中找不到解决方案(或者我可能看的不够多:-))

所以在这里,我有一个标有 HttpGet 属性的方法,其路由名称为“GetValues”。有没有办法使用路由名称获取路由的 Url(我相信这是拥有路由名称的唯一意义)。

    [Route("api/Values")]
    public class ValuesController : ControllerBase
    {
        [HttpGet("{id}", Name = "GetValues")]
        public async Task<IActionResult> GetValuesAsync()
        {

        }
}

【问题讨论】:

    标签: c# asp.net .net-core asp.net-core-2.0 asp.net-core-webapi


    【解决方案1】:

    简单的解决办法是:

    var url = Url.Link("GetValues", "Values", new { id = 123 });
    

    但完整的网址是:

    var url = string.Format("{0}{1}", 
                            Request.Url.Authority,
                            Url.Action("GetValues", "Values", new { id = 123 }));
    

    【讨论】:

      猜你喜欢
      • 2013-10-12
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多