Как применить @Validated к телу запроса списка?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как применить @Validated к телу запроса списка?

Сообщение Anonymous »

Дано:

Код: Выделить всё

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class VocabularyRequest {
@Null(groups = CollectionCreation.class)
@NotNull(groups = VocabularyCreation.class)
private Long collectionId;

@Valid private List meaningVariants;
}
Этот @Validated работает:

Код: Выделить всё

  @PostMapping(consumes = APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
@Override
public Mono create(
@Validated(VocabularyCreation.class) @RequestBody VocabularyRequest request) {
return super.create(request);
}
Но это (применительно к списку) не:

Код: Выделить всё

  @PostMapping(value = "/bulk", consumes = APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
@Validated(VocabularyCreation.class)
public Flux createBatch(
@RequestBody List requests) {
return service(VocabularyService.class).createBatch(requests);
}
Изменить это все равно не работает:

Код: Выделить всё

  @PostMapping(value = "/bulk", consumes = APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public Flux createBatch(
@Validated(VocabularyCreation.class) @RequestBody List requests) {
return service(VocabularyService.class).createBatch(requests);
}
При переходе на запросы @RequestBody List возникает ошибка компиляции:

Код: Выделить всё

'@Validated' not applicable to type use
Как указано в названии, есть ли решение? Спасибо за помощь!!

Подробнее здесь: https://stackoverflow.com/questions/785 ... quest-body
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»