我可以在.net Web API的中间件上获取路由模式吗

时间:2019-07-09 11:02:00

标签: .net api path routes

我做了.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} 
    }

0 个答案:

没有答案