У меня есть следующий метод контроллера:
@RequestMapping(value="/map/update", method=RequestMethod.POST, produces = "application/json; charset=utf-8")
@ResponseBody
public ResponseEntityWrapper updateMapTheme(
HttpServletRequest request,
@RequestBody @Valid List<CompanyTag> categories,
HttpServletResponse response
) throws ResourceNotFoundException, AuthorizationException {
...
}
CompanyTag определяется следующим образом:
public class CompanyTag {
@StringUUIDValidation String key;
String value;
String color;
String icon;
Icon iconObj;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
...
}
Проблема в том, что валидация не запускается, список CompanyTag не проверяется, валидатор "StringUUIDValidation" никогда не вызывается.
Если я удалю список и попробую отправить только один CompanyTag, т.е. вместо:
@RequestBody @Valid List<CompanyTag> categories,
использование:
@RequestBody @Valid CompanyTag category,
работает так, как ожидалось, поэтому, по-видимому, Spring не любит проверять списки вещей (вместо этого попытался использовать массив, это тоже не сработало).
Кто-нибудь знает, что не хватает?