Не пытайтесь вернуть нереактивный тип, когда ваш ввод предоставляется асинхронно через реактивный тип (Mono
), потому что это означает, что вы, вероятно, в конечном итоге заблокируете поток ввода-вывода, в котором обрабатывался запрос, который предполагает неблокирующее поведение контроллеров. Это повышает риск не только блокирования обработки текущего запроса, но и обработки всех других запросов в приложении.
Так что измените тип возвращаемого значения на Mono<ResponseEntity>
, переименуйте student
в studentMono
для ясности и обработайте вашего ученика в map
(или, возможно, flatMap
, если у вас есть применяемые асинхронные преобразования):
return studentMono.map(student -> ResponseEntity.ok(student.getName()));