首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置POST Web方法?

设置POST Web方法?
EN

Stack Overflow用户
提问于 2015-07-17 13:34:48
回答 2查看 401关注 0票数 3

我需要设置一个Web方法来接受我的安卓和iOS客户端应用程序发送的POST参数。这就是我现在拥有的:

代码语言:javascript
复制
[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参数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-17 14:25:12

你可以用模型。DefaultModelBinder将将表单中的这些值绑定到您的模型。

代码语言:javascript
复制
public class CommentViewModel
{
    public string Comment { get; set; }
    public string Email { get; set; }
    public string Actid { get; set; }
}

public IHttpActionResult PostComment([FromBody]CommentViewModel model)
{
    string status = ...;
    return Ok(status);
}
票数 4
EN

Stack Overflow用户

发布于 2015-07-17 14:28:32

你能做到的-

  1. 为三个输入参数创建一个自定义类并添加三个属性。
  2. PostComment方法更改为只接受该类的一个参数。
  3. 在调用此WebAPI时,创建该类的一个对象,为属性赋值,将其序列化为JSON或XML并发布。
  4. WebAPI将自动反序列化您的请求体并将其传递给您的方法。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31477108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档