Iv'e видел это хороший механизм:Spring MVC @ Valid аннотация для всех контроллеров?
http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/
Можно ли сделать @Valid аннотации avaialble для всех контроллеров с проверкой? Это кажется очень избыточными сделать следующее:
@RequestMapping(value = "/getPlayerAccounts", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(value = HttpStatus.OK)
@ResponseBody
public QueryResultsDTO<PlayerAccountResultDTO> getPlayerAccounts(@RequestBody **@Valid** FilteredQueryRequestDTO filteredQueryRequestDTO,
**BindingResult result**) {
**this.validateDTO(result);**
return this.playerService.getPlayerAccounts(filteredQueryRequestDTO);
}
Reduandant код:
@Valid
BindingResult результат
this.validateDTO (результат);
Это похоже на повторяющийся узор, возможно, кто-то уже решил его? возможно, с аспектами? Я не забочусь, что все мои методы и контроллеры будут иметь @Valid логина, большинство DTOS они ПРИУЮ будут действительно в любом случае (поскольку никаких аннотаций проверки не применяется к ним)
Благодаря
Вы уверены, что можете сделать это с учетом аспектов. Но я не уверен, что это действительно стоит хлопот. –
Итак, вы считаете, что проверка в каждом контроллере является лучшим решением? Размышление о разработчике, который забывает добавить примечание @Valid, заставляет меня чувствовать головокружение – Urbanleg
Ну, вот что такое модульные тесты для ... –