2017-01-19 4 views
1

У меня есть объект:Spring - проверка атрибута Integer

public class User{ 
    @NotNull 
    private Integer age; 
} 

В Restcontroller:

@RestController 
public UserController { 
..... 
} 

Я имею BindingResult, но поле возраст Spring не проверяет. Можешь мне сказать почему?

Спасибо за ваши ответы.

+0

Пожалуйста разместим ваш метод контроллера .. –

+0

@RequestMapping ("/") пользователи общественного недействительными AddUser (@Valid @RequestBody пользователя User, BindingResult результат) { если (result.hasErrors()) {некоторые действия}} –

ответ

0

Если проводка что-то вроде данных JSON, представляющих User класса, который вы можете использовать аннотацию @Valid в сочетании с @RequestBody для запуска проверки аннотаций, таких как @NotNull вас на age собственности. Затем с помощью BindingResult вы можете проверить, есть ли у объекта/данных ошибки и соответственно обрабатываются.

@RestController 
public UserController { 

    @RequestMapping(method = RequestMethod.POST) 
    public ResponseEntity<?> create(@Valid @RequestBody User user, BindingResult bindingResult) { 
     if(bindingResult.hasErrors()) { 
      // handle errors 
     } 
     else { 
      // entity/date is valid 
     } 
    } 
} 

Я бы убедиться, что ваш User класс также имеет @Entity аннотацию, а также.

@Entity 
public class User { 
    @NotNull 
    @Min(18) 
    private Integer age; 

    public Integer getAge() { return age; } 

    public setAge(Integer age) { this.age = age; } 
} 

Вы можете задать свойства для вывода/журнала SQL, так что вы можете видеть, что соответствующие ограничения будут добавлены в таблицу пользователей.

Надеюсь, это поможет!

+0

Спасибо за ваши ответы, я делаю это, как вы, но @NotNull по целочисленному возрасту атрибута не проверяется, но каждый, например, атрибут String работает нормально. –

+0

Попробуйте добавить аннотацию проверки '@Min (1)' или '@Range (min = 1, max = 10000)' к свойству возрастания «Integer» и проверить, успешно ли она проверена. –

+0

Да, спасибо, я попробую. Но это странно. В этом уроке: https://spring.io/guides/gs/validating-form-input/ use @NotNull аннотация по атрибуту Integer –

Смежные вопросы