У меня простой класс передачи данных
@Data
public class UserDto {
@NotNull
@NotEmpty
private String username;
@NotNull
@NotEmpty
private String password;
@NotNull
@NotEmpty
private String email;
}
В моем контроллере я хочу использовать объект.
@PostMapping("/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 (имя пользователя = ноль, пароль = ноль, адрес электронной почты = ноль)
нулевой
нулевой
истинный