From f781e8844667f8727c99aae97c0e626113d61152 Mon Sep 17 00:00:00 2001 From: Iaven00 <1245325661@qq.com> Date: Tue, 15 Oct 2024 16:06:04 +0800 Subject: [PATCH 1/2] Fix Runtime exception in user-service:getUserWithDepartment --- .../user/controller/UserController.java | 10 +++++++++- .../com/dailycodebuffer/user/service/UserService.java | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/user-service/src/main/java/com/dailycodebuffer/user/controller/UserController.java b/user-service/src/main/java/com/dailycodebuffer/user/controller/UserController.java index 0d5cee5..51c36e0 100644 --- a/user-service/src/main/java/com/dailycodebuffer/user/controller/UserController.java +++ b/user-service/src/main/java/com/dailycodebuffer/user/controller/UserController.java @@ -25,7 +25,15 @@ public User saveUser(@RequestBody User user) { @GetMapping("/{id}") public ResponseTemplateVO getUserWithDepartment(@PathVariable("id") Long userId) { log.info("Inside getUserWithDepartment of UserController"); - return userService.getUserWithDepartment(userId); + try { + return userService.getUserWithDepartment(userId); + } catch (RuntimeException e) { + log.error("Error occurred while acquiring the user: ", e ); + ResponseTemplateVO errorResponse = new ResponseTemplateVO(); + errorResponse.setDepartment(null); + errorResponse.setUser(null); + return errorResponse; + } } diff --git a/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java b/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java index a5c7e69..55fa2ae 100644 --- a/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java +++ b/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java @@ -29,10 +29,16 @@ public ResponseTemplateVO getUserWithDepartment(Long userId) { ResponseTemplateVO vo = new ResponseTemplateVO(); User user = userRepository.findByUserId(userId); + if (user == null) { + log.error("User not found for userId: {}", userId); + } Department department = restTemplate.getForObject("http://DEPARTMENT-SERVICE/departments/" + user.getDepartmentId() ,Department.class); + if (department == null) { + log.error("Department not found for departmentId: {}", user.getDepartmentId()); + } vo.setUser(user); vo.setDepartment(department); From 52f4ec7540b2df625d385a44dcd80078b9c15356 Mon Sep 17 00:00:00 2001 From: Iaven00 <1245325661@qq.com> Date: Tue, 15 Oct 2024 16:21:39 +0800 Subject: [PATCH 2/2] Update getUserWithDepartment in user-service:UserService for better error handling --- .../dailycodebuffer/user/service/UserService.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java b/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java index 55fa2ae..a623582 100644 --- a/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java +++ b/user-service/src/main/java/com/dailycodebuffer/user/service/UserService.java @@ -32,15 +32,17 @@ public ResponseTemplateVO getUserWithDepartment(Long userId) { if (user == null) { log.error("User not found for userId: {}", userId); } - Department department = + else{ + Department department = restTemplate.getForObject("http://DEPARTMENT-SERVICE/departments/" + user.getDepartmentId() ,Department.class); - - if (department == null) { - log.error("Department not found for departmentId: {}", user.getDepartmentId()); + + if (department == null) { + log.error("Department not found for departmentId: {}", user.getDepartmentId()); + } + vo.setUser(user); + vo.setDepartment(department); } - vo.setUser(user); - vo.setDepartment(department); return vo; }