[英]False-positive Sonar issue
問題:聲納為什么會向我發出警告(“更改此問題,以便它不會始終評估為“ false”。)。我已經證明,當requestEntity
不執行時, if (info == null)
評估為true
, t包含在db中找到的有效負載,那么我該如何消除這種誤報呢?它與@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);
}
您可以在報告的行上使用// NOSONAR
(並可能解釋為什么您忽略了此問題)。
那不是最好的解決方案,但是它可以工作(至少在Eclipse中使用時)。
您也可以將@SuppressWarnings
用於問題類型(例如: squid:02020
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.