【问题标题】:How to combine route name with route parameters如何将路由名称与路由参数结合起来
【发布时间】:2021-03-15 21:50:54
【问题描述】:

我需要将 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;
    }

但我找不到这样做的正确语法。这样的参数怎么组合?

【问题讨论】:

  • 您到底想达到什么目标?路由{abc} 和名称SomeFunc?如果是这样,[HttpPut("{abc}", Name = "SomeFunc")]
  • 谢谢... [HttpPut("{abc}", Name = "SomeFunc")] 是我要找的。不知何故,我可以发誓我尝试过……但显然没有。非常感谢。

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


【解决方案1】:

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

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

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

【讨论】:

  • 与 JOSEFtw 相同的响应 -> 不过,附加说明是附加值。谢谢!
  • @Aidanapword 考虑到我在 JOSEFtw 回答前将近 10 分钟对这个解决方案发表了评论,我不知道你评论的意义:) 我只是不确定这是否是 OP 想要的,所以我在发布答案之前等待他们的回复
【解决方案2】:

有点不清楚你在问什么。 这是你想要的吗?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2019-01-28
    • 2019-01-09
    • 2019-10-15
    • 1970-01-01
    相关资源
    最近更新 更多