我正在开始 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 请求时,它起作用了。为模型绑定读取请求正文。原始变量为空。我不知道我的客户有什么问题。我完全遵循教程代码。我应该指定内容类型吗?
慕运维8079593
相关分类