首页 > 解决方案 > 如何将路由名称与路由参数结合起来

问题描述

我需要将 Name = XXX 传递给已经包含 {YY} 参数的方法。

所以我试图结合

    [HttpPut(Name = "SomeFunc")]
    public bool SomeFunc()
    {
        return true;
    }

    [HttpPut("{abc}")]
    public bool SomeFunc(string abc)
    {
        return true;
    }

所以我有这样的东西

    [HttpPut(Name = "SomeFunc")("{abc}")]
    public bool SomeFunc(string abc)
    {
        return true;
    }

但我找不到这样做的正确语法。你如何组合这样的参数?

标签: c#asp.net-coreasp.net-core-routing

解决方案


似乎您想要一个名为SomeFunc路由参数的路由abc,如果是这种情况,那么您应该使用:

[HttpPut("{abc}", Name = "SomeFunc")]
public bool SomeFunc(string abc)
{
    return true;
}

请注意,路由是构造函数参数(参数顺序很重要),而名称是可选的命名参数(参数顺序无关紧要)。


推荐阅读