Должен ли я проверить значение null для объекта ResponseEntity<> в Spring Boot?

Я работаю с ResponseEntity<> в проекте Spring Boot и хочу знать, обязательно ли проверять объект responseBody на ноль перед вызовом getBody()?

Например:

ResponseEntity<Customer> responseBody = customerClient.getCustomer(id);

Я не уверен, может ли объект ResponseEntity иметь значение null. Могу ли я сделать это напрямую Customer customer = responseBody.getBody(); или мне перед этим нужно сделать проверку на ноль?

Вы используете Feign Client?

minGO 01.03.2024 11:47

@minGO, нет, клиент - RestTemplate

elvis 01.03.2024 11:49

Я не искал исходники Spring, но никогда не проверял ResponseEntity на наличие нуля и никогда не встречал для него нулевого значения. Я ожидаю, что в случае возникновения ошибки вместо нулевого ResponseEntity будет создано исключение.

eugeniace 01.03.2024 12:12

Документы не гарантируют, что RestTemplate не вернет значение null, но поскольку объявлено, что методы выбрасывают RestClientException при ошибках, можно с уверенностью предположить, что вы не получите значение null. Но customerClient.getCustomer(id); кажется пользовательским методом, поэтому он также зависит от того, как он обрабатывает ответ/ошибки.

Chaosfire 01.03.2024 12:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
535
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Нет, вам не нужно проверять, имеет ли значение responseEntity значение null.

Spring спроектирован так, чтобы всегда возвращать значение внутри responseEntity. Что может быть нулевым, так это метод getBody(), который вы вызываете в ответеEntity.

Возможно, вам захочется взглянуть на следующее:

Другие вопросы по теме