我做了.net核心Web api项目。
它与api控制器一起使用。 现在,我正在寻找控制器/动作的关键-
首先,我在context.GetRouteData()上获得了控制器名称和动作名称
但是,如果我使用controller + action进行索引,则无法通过覆盖的操作来解决。
所以我找到了该操作的网址格式
如何在Web api中间件上获得类似于摘要的url模式?
[api/{controller}]
public class ValuesController : Controller
{
// this pattern is api/values
[HttpGet]
public IActionResult Get()
{
return Ok(new string[] { "value1", "value2" });
}
// this pattern is api/values/{value}
[HttpGet("{value}")]
public IActionResult Get(string value)
{
return Ok(value);
}
}
我希望像
public async Task Invoke(HttpContext context)
{
await _next(context);
var urlPattern = context.Request.GetRoutePattern();
// if request path is "api/values/5" then
// returns api/values/{values}
}