我有一个 Web API 操作,如下所示:
[HttpGet]
[Route("api/query/hello/{query}")]
public HttpResponseMessage Hello([FromUri]Query query)
{
return null;
}
其中 Query 类有一个名为
QueryText
的公共(public)字符串属性。当我点击以下 URL 时,出现 404 错误:/api/query/hello?QueryText=bacon
这在我开始使用属性路由之前就起作用了。如果我没有参数或原始类型参数,我可以让属性路由工作。但是使用复杂的参数,我得到了 404。属性路由如何处理复杂的 Action 参数?它是否与
FromUri
属性兼容? 最佳答案
这里的解决方案是 Route 定义中的 {query}
标记是多余的。删除它,如下所示,解决了这个问题:
[Route("api/query/hello")]
关于c# - 如何使用具有复杂对象参数的 ASP.NET Web API 属性路由?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21196596/