微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可能会抛出“NullPointerException”; “getBody”可以返回空声纳

如何解决可能会抛出“NullPointerException”; “getBody”可以返回空声纳

声纳指向 A "NullPointerException" Could be thrown; "getBody()" can return null 周围的 recaptchaResponseEntity.getBody()

public BooleanResponse verifyCaptcha(String recaptchaResponse) {

//Alot more sophisticated logic

    Boolean success = (Boolean) recaptchaResponseEntity.getBody().get("success");

    List<String> errors = (List) recaptchaResponseEntity.getBody().get("error-codes");
    return success ? BooleanResponse.success() : BooleanResponse.failure(errors.get(0));
  }

我试过了

recaptchaResponseEntity.getBody()!=null,Objects.noNull(recaptchaResponseEntity.getBody()),!Objects.isNull(recaptchaResponseEntity.getBody())

但是没有运气,你能帮忙解决这个问题吗?谢谢

解决方法

您的每个示例尝试都不会在任何地方存储比较值。我假设您已经运行了这些检查,但是您仍然再次调用 getBody(),这会触发问题(不能保证该方法将返回相同的结果两次)。我会尝试将 getBody() 返回值存储在一个变量中,并且仅在检查后使用它,例如:

<appropriate type here> recaptchaResponseBody = recaptchaResponseEntity.getBody();
if (recaptchaResponseBody != null) {
    Boolean success = (Boolean) recaptchaResponseBody.get("success");
    ...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。