Ответ.JAVA

Программисты JAVA общаются здесь
Anonymous
 Ответ.

Сообщение Anonymous »

Я разрабатываю контроллер в Spring Boot. В случае, если элемент не найден в БД, я хотел бы воскресить ответную реакцию с помощью http -кода типа httpstatus.not_found, но также и сообщением, что элемент не был найден. Следующий метод работает, но возвращает только httpstatus.not_found. < /P>
import org.springframework.http.ResponseEntity;

@GetMapping(
value = "/plants/{id}",
produces = MediaType.APPLICATION_JSON_VALUE
)
public ResponseEntity getPlantById(@PathVariable("id") UUID id){
Optional responsePlantDTOOptional = service.getPlantById(id);
return responsePlantDTOOptional.map(
responsePlantVocDTO -> ResponseEntity
.status(HttpStatus.FOUND)
.body(responsePlantVocDTO))
.orElse(
ResponseEntity.notFound().build()
);
}
< /code>
Я пробовал другие решения, но я получаю следующую ошибку: Требуемый тип:
responseentity, предоставление: responseentity < /em> < /p>
@GetMapping(
value = "/plants/{id}",
produces = MediaType.APPLICATION_JSON_VALUE
)
public ResponseEntity getPlantById(@PathVariable("id") UUID id){
Optional responsePlantDTOOptional = service.getPlantById(id);
return responsePlantDTOOptional.map(
responsePlantVocDTO -> ResponseEntity
.status(HttpStatus.FOUND)
.body(responsePlantVocDTO))
.orElse(
// ResponseEntity.notFound().build()
ResponseEntity.status(HttpStatus.NOT_FOUND).body("My message")
);
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... boot-contr

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