路由模板不能以'/'或> '~'字符开头,也不能包含'?'字符



我收到具有以下路由属性的异常:

[Route("{id}?action=decline")]

例外:

类型为"System.ArgumentException"的异常发生在 System.Web.Http.dll但未在用户代码中处理

其他信息:路由模板不能以"/"或"或"开头 "~"字符,并且不能包含"?"字符。

为什么不允许这样做?

我认为这是不允许的,因为查询字符串不是 URI-Path 的一部分。(请参阅RFC3986 3.3 节 路径 ,它不包括查询部分)
但我没有确凿的事实来证明这一点:/。也许这些链接可以帮助您:

基于查询字符串参数名称
的路由QueryString with MVC 5 AttributeRouting in Web API 2
ASP.NET Web API 2 中的属性路由

你可以这样做,你将可以访问idaction

[Route("{id}")]
public IHttpActionResult YourMethod([FromUri] string action)

相关内容

  • 没有找到相关文章

最新更新