I am developing an application ASP.NET Core 2.0. i have an attribute class to validation my each api request, which inherit ActionFilterAttribute class. But problem is i am not getting desired request url, the given url is coming with parameter, i need only absoluteUrl like /api/values/get
not like /api/values/get/1
. i think you'll get clear understanding if you see my below codes.
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()
}
}
.Contains() method help me to implement logic with given action url
public class AuthorizationRequiredAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
var url=context.HttpContext.Request.Path.ToString()
if(url.Contains("/api/values/get/1"))
{
//do something
}
}
}