将 rc 升级到 rtm web api 项目
简单类型参数的默认参数绑定现在是 [FromUri]:在以前版本的 ASP.NET Web API 中,简单类型参数的默认参数绑定使用模型绑定。简单类型参数的默认参数绑定现在是 [FromUri]。
我相信是导致我 greif 的变化。
好吧,现在我不太确定。StrathWeb似乎让我觉得它应该按原样工作。
鉴于此端点
[HttpGet]
public HttpResponseMessage Method(string a, string b)
{
...
}
我使用在客户端上生成一个 url
@Url.RouteUrl("route", new { httproute = "", controller = "Controller", version = "1" })">
让它为这条路线生成 url。
routes.MapHttpRoute(
name: "route",
routeTemplate: "api/v{version}/{controller}/Method",
defaults: new
{
action = "Method",
controller = "Controller",
version = "1"
});
它可以很好地创建 url。网址看起来像
.../api/v1/Controller/Method?optional=z
.../api/v1/Controller/Method?a=x&b=y&optional=z
它在请求时抛出 404。如果我删除 api 控制器中的参数 a 和 b ,那么它就可以很好地进入方法。
使这些绑定的正确方法是什么?