gpt4 book ai didi

spring-boot - 如何设置 spring boot 中可选的 getter 和 setter 方法的值

转载 作者:行者123 更新时间:2023-12-04 17:29:17 29 4
gpt4 key购买 nike

当用户注册完成时,我试图将 setIs_active 的值设置为 true,但我已将方法 findByEmail 作为可选方法,但我无法将值设置为 true。有人能告诉我这是什么原因吗?

 public String confirmAccount(String confirmationToken)
{
ConfirmationToken token = confirmationTokenRepository.findByConfirmationToken(confirmationToken);
if(token != null)
{
Optional<User> user = userRepository.findByEmail(token.getUser().getEmail());
user.setIs_active(true);//here I am getting error
userRepository.save(user);//here I am getting error
return "Your account is activated" ;
}
else
return "Error ! Please try again";

}

最佳答案

您得到可选的用户对象而不是用户对象。

方式一:

User user = userRepository.findByEmail(token.getUser().getEmail()).orElse(null);

方式二:检查存在然后设置:

Optional<User> user = userRepository.findByEmail(token.getUser().getEmail());

if (user.isPresent()) {
User user1 = user.get();
//set && save
}

关于spring-boot - 如何设置 spring boot 中可选的 getter 和 setter 方法的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61135849/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com