我正在开始 WebApi 教程,但我刚刚遇到了一个问题,即正在运行的参数为空。下面是教程代码。网络接口[AllowAnonymous][Route("Register")]public async Task<IHttpActionResult> Register(RegisterBindingModel model){ if (!ModelState.IsValid) { return BadRequest(ModelState); } var raw = Request.Content.ReadAsStringAsync(); var user = new ApplicationUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, Result.Password); if (!result.Succeeded) { return GetErrorResult(result); } return Ok(); }WebApi 客户端static string Register(string email, string password){ var Result = new RegisterBindingModel() { Email = email, Password = password, ConfirmPassword = password }; using (var client = new HttpClient()) { var response = client.PostAsJsonAsync( "http://localhost:7399/api/Account/Register", Result).Result; return response.StatusCode.ToString(); } }注册操作收到 http 请求,但模型始终为空。所以原始变量显示如下{"Email":"test@gmail.com","Password":"Test@123","ConfirmPassword":"Test@123"}但是当我尝试使用 Postman 发送 http 请求时,它起作用了。为模型绑定读取请求正文。原始变量为空。我不知道我的客户有什么问题。我完全遵循教程代码。我应该指定内容类型吗?
2 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
使变量名称相同,即在Register
方法更改var Result
为var model
并尝试。
应该是frombody
,即从帖子正文中获取参数值
[HttpPost] public async Task<IHttpActionResult> Register([FromBody]RegisterBindingModel model)
- 2 回答
- 0 关注
- 341 浏览
添加回答
举报
0/150
提交
取消