Я работаю с ResponseEntity<> в проекте Spring Boot и хочу знать, обязательно ли проверять объект responseBody на ноль перед вызовом getBody()?
Например:
ResponseEntity<Customer> responseBody = customerClient.getCustomer(id);
Я не уверен, может ли объект ResponseEntity иметь значение null. Могу ли я сделать это напрямую Customer customer = responseBody.getBody(); или мне перед этим нужно сделать проверку на ноль?
@minGO, нет, клиент - RestTemplate
Я не искал исходники Spring, но никогда не проверял ResponseEntity на наличие нуля и никогда не встречал для него нулевого значения. Я ожидаю, что в случае возникновения ошибки вместо нулевого ResponseEntity будет создано исключение.
Документы не гарантируют, что RestTemplate не вернет значение null, но поскольку объявлено, что методы выбрасывают RestClientException при ошибках, можно с уверенностью предположить, что вы не получите значение null. Но customerClient.getCustomer(id); кажется пользовательским методом, поэтому он также зависит от того, как он обрабатывает ответ/ошибки.




Нет, вам не нужно проверять, имеет ли значение responseEntity значение null.
Spring спроектирован так, чтобы всегда возвращать значение внутри responseEntity. Что может быть нулевым, так это метод getBody(), который вы вызываете в ответеEntity.
Возможно, вам захочется взглянуть на следующее:
Вы используете Feign Client?