ASP.NET Core 3.1 - PostAsync/PostAsJsonAsync方法在集成测试中始终返回Bad Request。
ASP.NET Core 3.1 - PostAsync/PostAsJsonAsync方法在集成测试中始终返回Bad Request。
这是我在AuthController中的register方法。
[HttpPost(ApiRoutes.Auth.Register)] public async TaskRegister(UserRegistrationRequest request) { var authResponse = await _authService.RegisterAsync(request.Email, request.Password); if (!authResponse.Success) { return BadRequest(new AuthFailedResponse { Errors = authResponse.Errors }); } return Ok(new AuthSuccessResponse { Token = authResponse.Token, RefreshToken = authResponse.RefreshToken }); }
我试图使用TestClient.PostAsync()
方法调用这个方法,但不幸的是它总是返回Bad Request。我已经尝试通过导入Microsoft.AspNet.WebApi.Client
包来调用TestClient.PostAsJsonAsync(ApiRoutes.Auth.Register, user)
方法,结果是一样的。
var user = new UserRegistrationRequest { Email = "user1@testtest.com", Password = "P@ssw0rd1!!!!!" }; var response = await TestClient.PostAsync( ApiRoutes.Auth.Register, new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8) { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } });