我需要设置一个Web API方法来接受从我的Android和iOS客户端应用程序发送的POST参数。这就是我现在所拥有的:
[HttpPost]
[Route("api/postcomment")]
public IHttpActionResult PostComment([FromBody]string comment, [FromBody]string email, [FromBody]string actid)
{
string status = CommentClass.PostNewComment(comment, email, actid);
return Ok(status);
}
然而,这不起作用,因为我认为该方法不能同时采用多个[FromBody]参数?如何正确设置此方法,使其从请求正文中接受3个POST参数?
答案 0 :(得分:4)
您可以使用模型。 DefaultModelBinder 会将表单中的值绑定到您的模型。
{{1}}
答案 1 :(得分:1)
你可以这样做 -
- 创建一个自定义类,并为三个输入参数添加三个属性。
- 将
PostComment
方法更改为仅接受该类的一个参数。- 在调用此WebAPI时,创建此类的一个对象,为属性赋值,将其序列化为JSON或XML并将其POST。
- WebAPI会自动反序列化您的请求正文并将其传递给您的方法。
醇>