gpt4 book ai didi

spring - Spring Boot ResponseEntity不操纵HTTP响应

转载 作者:行者123 更新时间:2023-12-03 08:04:44 24 4
gpt4 key购买 nike

我在响应实体异常处理方面遇到问题。可以看出,我的响应实体错误没有更改HTTP响应。
我的密码

      public ResponseEntity<User> retriveUser(@PathVariable int id){
Optional<User> foundUser;
foundUser= userRepo.findById(id);

if(foundUser.get()==null) {
return new ResponseEntity<>(foundUser.get(),HttpStatus.HttpStatus.NOT_FOUND);
}

else {
return new ResponseEntity<>(foundUser.get(),HttpStatus.OK);
}
}
enter image description here

最佳答案

您的代码中存在一些错误,首先foundUser.get()==null部分未进入if块,因为它引发了错误。您可以检查java document以找出引发错误的原因。

  • 还需要是 HttpStatus.NOT_FOUND 而不是HttpStatus.HttpStatus.NOT_FOUND
  • 在“未找到”行中,以便optionalUser.get()方法不会出现错误;您也必须将其删除。

  • @GetMapping("/user/{id}")
    public ResponseEntity<User> retrieveUser(@PathVariable int id) {
    Optional<User> optionalUser = userRepo.findById(id);
    if (!optionalUser.isPresent()) {
    return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
    } else {
    return new ResponseEntity<>(optionalUser.get(), HttpStatus.OK);
    }
    }

    关于spring - Spring Boot ResponseEntity不操纵HTTP响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65466601/

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