我正在尝试发布到控制器操作并正确填充模型,但我得到的只是一个空模型,其两个属性都设置为null。
这是参数模型:
public class LoginViewModel
{
public string UserName;
public string Password;
}
以下是行动:
[HttpPost]
public HttpResponseMessage Login(LoginViewModel model)
{
// model.UserName and model.Password are null for some reason
}
这是路线配置:
config.Routes.MapHttpRoute(
name: "AuthApi",
routeTemplate: "api/login",
defaults: new
{
controller = "ApiAccount",
action = "login"
}
);
这是请求:
POST /api/login HTTP/1.1
Host: localhost:51444
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
UserName=me&Password=testfake
这里有什么问题?
答案 0 :(得分:4)
尝试添加get / set以查看模型:
public class LoginViewModel
{
public string UserName { get; set; }
public string Password { get; set; }
}
答案 1 :(得分:0)
我相信您的控制器操作期待以下两种情况之一。
此网址的POST为空主体:
/api/login?UserName=me&Password=testfake
使用此正文向/api/login
发送邮件:
{
"UserName": "me",
"Password": "testfake"
}