如何将路由名称与路由参数结合起来
Posted
技术标签:
【中文标题】如何将路由名称与路由参数结合起来【英文标题】: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")] 是我要找的。不知何故,我可以发誓我尝试过……但显然没有。非常感谢。
【参考方案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)
【讨论】:
以上是关于如何将路由名称与路由参数结合起来的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8:如何使隐式模型绑定路由参数可选而不是抛出 404?
如何使用模板驱动形式将角度路由与角度材料步进器(https://material.angular.io/components/stepper/overview)结合起来?
Flutter:如何将 PageRoute Animation 与 Navigator.of(context).pushNamed 结合起来