400 bad request Spring mvc

Есть такой вот метод:

@RequestMapping(method = {RequestMethod.PATCH, RequestMethod.POST})
    @PreAuthorize("hasRole('ADMIN')")
    public TaskOutDto updateCreateTask(@RequestBody(required = false) @Valid Optional<TaskUpdateInDto> updateTask,
                                       @RequestBody(required = false) @Valid Optional<TaskCreateInDto> createTask) {

        return updateTask
                .map(mapper::fromDto)
                .map(mapper::toDto)
                .orElse(createTask
                        .map(mapper::fromDto)
                        .map(mapper::toDto)
                        .orElseThrow(NullPointerException::new));
}

В нем я просто делаю маппинг и возвращаю результат. Но, к сожалению, запрос даже в метод не заходит - сразу бросается ошибка 400. Если поубирать аннотации @Valid все же бросает 400

Вот скрин из постмана:

введите сюда описание изображения


Ответы (1 шт):

Автор решения: lampa

Наверное у вас что-то вроде HttpMessageNotReadableException?)

Т.е. у вас ожидают @RequestBody два класса: TaskUpdateInDto и TaskCreateInDto, но тело-то запроса всегда только одно.

→ Ссылка