我有以下问题:
我想测试用户是否注册成功。我不是通过 UI 而是通过 Postman 执行此操作。问题是当我使用 POST 命令时出现异常。我已经检查了所有注释。
例外:
java.lang.IllegalArgumentException: org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.encode(BCryptPasswordEncoder.java:103) ~[spring-security-core-5.3.3.RELEASE.jar:5.3.3 rawPassword 不能为空.RELEASE] 在 com.example.application.backend.data.service.UserService.singUpUser(UserService.java:41) ~[classes/:na] 在 com.example.application.backend.data.registration.RegistrationService.register( RegistrationService.java:22) ~[classes/:na] 位于 com.example.application.backend.data.registration.RegistrationController.register(RegistrationController.java:18)
这是我的 UserService 类:
private final static String USER_NOT_FOUND_MSG = "user with email %s not found";
@Autowired
private final UserRepository userRepository;
@Autowired
private final BCryptPasswordEncoder bCryptPasswordEncoder;
public UserService(
UserRepository userRepository,
BCryptPasswordEncoder bCryptPasswordEncoder) {
this.userRepository = userRepository;
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
}
@Override
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
return userRepository.findByEmail(email)
.orElseThrow(() ->
new UsernameNotFoundException(String.format(USER_NOT_FOUND_MSG, email)));
} …Run Code Online (Sandbox Code Playgroud)