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

标签 java spring spring-boot

我想从用户的 id 中恢复用户,为此我编写了以下代码,但使用 postman 进行的测试返回错误 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);
}

最佳答案

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

关于java - 如何解决无法通过 ID 恢复实体的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58694748/

相关文章:

java - 日历对象有什么作用?

Java:从 BufferedImage 到 IplImage

java - Class.getName() 的静态调用

java - 在读取器/写入器场景中,我是否需要使两个变量都为 volatile ?

spring - Spring session 与 spring security saml 的集成

spring - 以编程方式获取嵌入式 Servlet 容器信息

java - 使用 cron 属性在 Spring-boot 中测试 @Scheduled 函数

spring - Spring Boot一周后编译JSP错误

java - 注册为 Spring bean 时过滤器调用两次

java - Struts2 验证无法正常工作