我正在開始 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 發(fā)送 http 請求時,它起作用了。為模型綁定讀取請求正文。原始變量為空。我不知道我的客戶有什么問題。我完全遵循教程代碼。我應該指定內容類型嗎?
2 回答

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
使變量名稱相同,即在Register
方法更改var Result
為var model
并嘗試。
應該是frombody
,即從帖子正文中獲取參數值
[HttpPost] public async Task<IHttpActionResult> Register([FromBody]RegisterBindingModel model)
- 2 回答
- 0 關注
- 378 瀏覽
添加回答
舉報
0/150
提交
取消