获取执行当前操作的完整路线 [英] Get the full route to current action
本文介绍了获取执行当前操作的完整路线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有基本路由的简单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屋!
查看全文