为了账号安全,请及时绑定邮箱和手机立即绑定

webapi 参数为空

webapi 参数为空

C#
哔哔one 2021-08-22 17:18:11
我正在开始 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 Resultvar model并尝试。


应该是frombody,即从帖子正文中获取参数值

[HttpPost]
public async Task<IHttpActionResult> Register([FromBody]RegisterBindingModel model)


查看完整回答
反对 回复 2021-08-22
  • 2 回答
  • 0 关注
  • 341 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信