【发布时间】:2018-04-04 10:15:22
【问题描述】:
我正在开发一个应用程序 ASP.NET Core 2.0。我有一个属性类来验证我的每个 api 请求,它继承了 ActionFilterAttribute 类。但问题是我没有得到想要的请求url,给定的url带有参数,我只需要像/api/values/get这样的absoluteUrl,而不是像/api/values/get/1。我想如果您看到我的以下代码,您就会清楚地理解。
API
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet("get/{id}"),AuthorizationRequiredAttribute]
public IEnumerable<string> Get(int id)
{
return id;
}
}
AuthorizationRequiredAttribute
public class AuthorizationRequiredAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
var url=context.HttpContext.Request.Path.ToString()
}
}
【问题讨论】:
-
请注意,绝对 URL 具有
protocol://domain/path格式,您确实只想检查path的一部分。所以最好编辑你的问题。 -
感谢@Set,已编辑
标签: c# asp.net-core httpcontext actionfilterattribute