0

我有来自 http web 客户端(c#)的 POST 请求的 web api。我正在使用 chrome 的 REST 控制台来调试我的 web api。当我在查询字符串中传递参数时,它工作正常,但是当我将参数作为原始正文传递时,它不起作用。我不知道我错过了什么。

下面是我的代码。

控制器:

 [HttpPost]
        public  JsonResult VerifyUserAuth([Bind(Prefix = "t"), Required] string token,
                                         [Bind(Prefix = "ApplicationGUID"), Required] string applicationGUID,
                                         string userID,
                                         string password)
        {
            return Json(NotificationsSecurity.VerifyUserAuth(_connectionstring, userID, password),
                        JsonRequestBehavior.AllowGet);
        }

当我在 VS 调试器中调试它并将参数作为 RAW 正文传递时,它显示为空。但是当我作为查询字符串传递时,我正在正确接收所有参数。

4

1 回答 1

0

当您指定多个简单类型时,Web API 默认不使用格式化程序。格式化程序知道如何将正文有效负载映射到表示模型的对象实例中。对于简单类型,模型绑定器主要用于 URI 和 RouteData 参数。我将对您的操作进行一些小改动以正确解析有效负载。

public class VerifyUserAuthModel
{
  public string Token { get; set; }
  public string ApplicationGUID { get; set; }
  public string UserID { get; set; }
  public string Password { get; set; }
}



public  JsonResult VerifyUserAuth(VerifyUserAuthModel model)
{
}
于 2013-04-19T13:13:18.687 回答