Вопрос: почему сонар дает мне предупреждение («Измените эту проблему, чтобы она не всегда оценивалась как« ложная »). Мне удалось доказать, что if (info == null)
оценивается как true
, когда requestEntity
не содержит полезной нагрузки, найденной в БД. Так как я могу избавиться от этого ложного срабатывания? Имеет ли это какое-то отношение к аннотациям @Nullable
, @Checkfornull
или @Nonnull
? Я знаю postForObjectметод использует аннотацию @Nullable
.
Info info = restTemplate.postForObject(connectionString, requestEntity,
Info.class);
if (info == null) {
throw new ApplicationException(Constants.NO_RESULT_ERROR_CODE);
}
Вот метод postForObject
:
@Override
@Nullable
public <T> T postForObject(URI url, @Nullable Object request, Class<T> responseType)
throws RestClientException {
RequestCallback requestCallback = httpEntityCallback(request, responseType);
HttpMessageConverterExtractor<T> responseExtractor =
new HttpMessageConverterExtractor<>(responseType, getMessageConverters());
return execute(url, HttpMethod.POST, requestCallback, responseExtractor);
}