设置POST Web API方法?

时间:2015-07-17 13:34:48

标签: asp.net web-services rest asp.net-web-api azure-mobile-services

我需要设置一个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参数?

2 个答案:

答案 0 :(得分:4)

您可以使用模型。 DefaultModelBinder 会将表单中的值绑定到您的模型。

enter image description here

enter image description here

{{1}}

答案 1 :(得分:1)

你可以这样做 -

  
      
  1. 创建一个自定义类,并为三个输入参数添加三个属性。
  2.   
  3. PostComment方法更改为仅接受该类的一个参数。
  4.   
  5. 在调用此WebAPI时,创建此类的一个对象,为属性赋值,将其序列化为JSON或XML并将其POST。
  6.   
  7. WebAPI会自动反序列化您的请求正文并将其传递给您的方法。
  8.