Spring 服务层出现意外行为
Spring unexpected behavior in service layer
我在调用从数据存储库中删除的方法时遇到问题。
在我的服务层中,我有这两种方法:
@Override
public User findById(long id) {
List<User> users = userRepository.readUsers();
return users.stream()
.filter(u -> u.getId() == id)
.findFirst()
.orElseThrow(NoSuchElementException::new);
}
@Override
@CachePut(value = "users")
@Transactional
public void deleteUserById(long id) {
userRepository.deleteUser(id);
}
问题是当 deleteUserById 被调用时,foundById 也被调用并引发了一个异常,我在 @ControllerAdvice 中捕获了这个异常。
检查数据库时删除成功,但执行调用时响应是ControllerAdvice中的错误。
发现问题,我在删除用户后在其他地方调用findById。离谱的错误!对不起。谢谢你的时间。
我在调用从数据存储库中删除的方法时遇到问题。
在我的服务层中,我有这两种方法:
@Override
public User findById(long id) {
List<User> users = userRepository.readUsers();
return users.stream()
.filter(u -> u.getId() == id)
.findFirst()
.orElseThrow(NoSuchElementException::new);
}
@Override
@CachePut(value = "users")
@Transactional
public void deleteUserById(long id) {
userRepository.deleteUser(id);
}
问题是当 deleteUserById 被调用时,foundById 也被调用并引发了一个异常,我在 @ControllerAdvice 中捕获了这个异常。
检查数据库时删除成功,但执行调用时响应是ControllerAdvice中的错误。
发现问题,我在删除用户后在其他地方调用findById。离谱的错误!对不起。谢谢你的时间。