Я работаю над ActionFilter и мне нужно получить путь к шаблону URL, например /api/v{version}/controllerName/actionName/{parameter}
.Однако решение должно быть универсальным, поэтому оно поддерживает несколько шаблонов URL, таких как api/v{version}/controllerName/actionName/{parameter}/otherActionName/{otherParameter}
.
последняя стабильная версия ASP.NET Core 2.2.У меня есть ActionExecutedContext
, который также содержит HttpContext
.Однако я не уверен насчет содержания этого HttpContext
, поскольку оно содержит некоторые значения по умолчанию для ответа.
private PathString GetUrlTemplatePath(ActionExecutedContext context)
{
// TODO:
return context.HttpContext.Request.Path;
}
Фактический результат: /api/v1/Location/addresses/999999A1-458A-42D0-80AA-D08A3DAD8199
.
Ожидаемый результат: /api/v{version}/location/addresses/{externalId}
где externalId
- имя параметра, описываемого атрибутом [HttpGet("addresses/{externalId}", Name = "GetAddress")]
.