【发布时间】:2022-06-10 22:26:20
【问题描述】:
当我发布注册请求时,虽然我的 mysql 数据库尚未启动,但我的 Spring boot 应用程序中抛出了异常,但我仍然收到来自邮递员的 OK 响应。
如果我的应用程序中出现错误,我怎样才能使它不给出 OK 响应。
这是邮递员的要求:
{
"username": "user",
"password": "123",
"email" : "example",
"biography": "example bio",
"profileImageUrl": "profile.image"
}
这是我的控制器代码:
@PostMapping("/signup")
public ResponseEntity<Object> signup(@RequestBody RegisterRequest registerRequest) {
this.authService.signup(registerRequest);
return ResponseEntity.ok().build();
}
And this is the authService.signup() method:
@Async
public void signup(RegisterRequest registerRequest) {
if (!userRepository.existsByUsername(registerRequest.getUsername())) {
User user = new User();
user.setUsername(registerRequest.getUsername());
user.setPassword(passwordEncoder.encode(registerRequest.getPassword()));
user.setEmail(registerRequest.getEmail());
user.setBiography(registerRequest.getBiography());
user.setProfileImageUrl(registerRequest.getProfileImageUrl());
user.setCreationDate(Instant.now());
user.setEnabled(false);
VerificationToken token = generateToken(user);
log.info("Token: " + token.getToken());
this.emailService.sendVerificationMessage(user.getEmail(), token.getToken());
} else {
throw new UserExistsException("User with username " + registerRequest.getUsername() + " already exists");
}
}
【问题讨论】:
-
我完全不了解 spring 框架,但尝试在调用注册方法并返回 NOK 响应时捕获异常。
标签: java spring spring-boot rest postman