我的一个 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 版本中的实际作用。