我想从他的ID中恢复用户,为此,我编写了以下代码,但邮递员的测试返回错误500。我为您提供了错误的图片。
//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);
}
答案 0 :(得分:0)
userRepository.getOne(id)
引发异常。因此,行ResponseEntity.notFound().build();
永远不会执行。
尝试使用try / catch。
或者,您可以使用findById(id)
代替getOne(id)
。它返回null而不抛出异常。
答案 1 :(得分:0)
如果未在表中找到数据,则findOne
将返回null,而getOne()
将抛出javax.persistence.EntityNotFoundException。
因此,我认为此处使用错误的方法,请尝试使用findById(id)
而不是getOne(id)
。