获取执行当前操作的完整路线 [英] Get the full route to current action

查看:88
本文介绍了获取执行当前操作的完整路线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有基本路由的简单API。它是使用默认的Visual Studio 2015 ASP.NET Core API模板设置的。

I have a simple API with basic routing. It was setup using the default Visual Studio 2015 ASP.NET Core API template.

我有以下控制器和操作:

I have this controller and action:

[Route("api/[controller]")]
public class DocumentController : Controller
{
    [HttpGet("info/{Id}")]
    public async Task<Data> Get(string Id)
    {
        //Logic
    }
}

因此,要使用此方法,我必须调用 GET / api / document / info / some-id-here

So to reach this method, I must call GET /api/document/info/some-id-here.

在该方法内是否可以使用.NET Core将完整的路由检索为字符串?

因此,我可以这样做:

var myRoute = retrieveRoute();

// myRoute = "/api/document/info/some-id-here"


推荐答案

您可以使用.Net Core中的 Request 选项(HttpRequest)获得完整的请求URL。

You can get the complete requested url using the Request option (HttpRequest) in .Net Core.

var route = Request.Path.Value;

您的最终代码。

[Route("api/[controller]")]
public class DocumentController : Controller
{
    [HttpGet("info/{Id}")]
    public async Task<Data> Get(string Id)
    {
        var route = Request.Path.Value;
    }
}

结果路径: / api / document / info / some-id-here //例如

这篇关于获取执行当前操作的完整路线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆