0
と私はオブジェクトを使用する単純なデータ転送クラスに私のコントローラで春@Validは、フォームの要求のために動作しますが、JSON本体
@Data
public class UserDto {
@NotNull
@NotEmpty
private String username;
@NotNull
@NotEmpty
private String password;
@NotNull
@NotEmpty
private String email;
}
を持っていません。
@PostMapping("https://stackoverflow.com/users/create")
public ResponseEntity<Object> createUser(@ModelAttribute("UserDto") @RequestBody @Valid UserDto accountDto, BindingResult bindingResult, HttpServletRequest request) {
System.out.println(accountDto);
System.out.println(accountDto.getUsername());
System.out.println(accountDto.getPassword());
System.out.println(bindingResult.hasErrors());
return new ResponseEntity<>("success", HttpStatus.OK);
}
私は私のapiをテストするために郵便番号を使用しています。要求をform
またはx-www-form-urlencoded
として送信すると、正常に動作します。私は、出力以下の取得:
UserDtoを(ユーザ名= dsfssf、パスワード= dsfsdgfsg、[email protected])
dsfssf
偽dsfsdgfsg
ただし、リクエストをJSONオブジェクトとして送信する場合は、
{"username": "ssss", "password": "test", "email": "[email protected]" }
私は取得していますすべてがある
UserDto(ユーザ名= nullを、パスワード= nullを、電子メール= null)の
真
ヌル
ヌル
@ModelAttributeを削除してテストしましたか? –