【发布时间】:2013-04-05 19:54:09
【问题描述】:
我的一个 API 控制器上有一个 POST 方法,它采用单个字符串值:
public string Post([FromBody] string foo) {
return(fooOracle.ValidateFoo(foo) ? "success" : "failure");
}
我将发布请求的正文发布到此:
foo=123412341234
(即它是一个常规的 HTTP POST,您可以通过提交浏览器表单以及使用 HTTP 客户端来启动它)
在 WebAPI 的候选版本中,这已经默默地停止工作 - 它不再绑定 foo 了。为了让代码工作,我不得不用这个替换方法:
public string Post(FormDataCollection form) {
var foo = form.Get("foo");
return(fooOracle.ValidateFoo(foo) ? "success" : "failure");
}
这个工作,但它有点乱,并且比以前的版本需要更多的管道测试。
我是否遗漏了一些细微的变化,或者 [FromBody] 绑定语法已被弃用,转而采用这种相当冗长的绑定语法?该属性仍然存在,但实际上并不清楚它在 RC 版本中的实际作用。
【问题讨论】:
标签: asp.net-web-api