如何解决通过ID无法恢复实体的问题?

我想从他的ID中恢复用户,为此,我编写了以下代码,但邮递员的测试返回错误500。我为您提供了错误的图片。

picture

//Recuperer un utilisateur
@GetMapping("/getUser/{id}")
public ResponseEntity findUserById(@PathVariable(name="id") Integer id) {
    if(id == null) {
        return ResponseEntity.badRequest().body("Impossible d'afficher un utilisateur avec un id null");
    }

    User user = userRepository.getOne(id);

    if(user == null) {
        return ResponseEntity.notFound().build();
    }

    return ResponseEntity.ok().body(user);
}
yiliang123 回答:如何解决通过ID无法恢复实体的问题?

userRepository.getOne(id)引发异常。因此,行ResponseEntity.notFound().build();永远不会执行。

尝试使用try / catch。

或者,您可以使用findById(id)代替getOne(id)。它返回null而不抛出异常。

,

如果未在表中找到数据,则findOne将返回null,而getOne()将抛出javax.persistence.EntityNotFoundException。 因此,我认为此处使用错误的方法,请尝试使用findById(id)而不是getOne(id)

本文链接:https://www.f2er.com/3166271.html

大家都在问