java - 如何解决ID无法恢复实体的问题?
问题描述
我想从他的 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);
}
解决方案
如果在表中没有找到数据,findOne
将返回 null,而getOne()
将抛出 javax.persistence.EntityNotFoundException。所以我认为在这里使用错误的方法,尝试findById(id)
而不是getOne(id)
.
推荐阅读
- android - 在 android 上的 kivy/python 中使用 python for android 进行条件导入
- android - 将apk构建到phonegap时出现问题
- python - 将列表与元组列表进行比较?
- composer-php - 使用 Composer 安装 mailparser,为什么我得到一个错误,即 allow_url_fopen 已经启用时必须启用它?
- python - 谷歌 BigQuery WRITE_TRUNCATE 删除所有数据
- c - SDL_BlitSurface 总是模糊的。我究竟做错了什么?
- ruby - Phusion 乘客正在覆盖我的数据库配置
- algorithm - 每日编码问题,1.4:解决方案中给出的运行时间不正确?
- react-native - 如何在 componentDidMount 中使用 if/else 和 responseJson?
- scikit-learn - 为什么 scikit 中的 KNN 算法没有按预期工作?