【问题标题】:Spring boot server returning OK http response even when there is an error即使出现错误,Spring Boot 服务器也会返回 OK 的 http 响应
【发布时间】: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


猜你喜欢
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 2018-03-04
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 2020-08-18
相关资源
最近更新 更多