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..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 @@ -29,12 +29,20 @@ public ResponseTemplateVO getUserWithDepartment(Long userId) { ResponseTemplateVO vo = new ResponseTemplateVO(); User user = userRepository.findByUserId(userId); - Department department = + if (user == null) { + log.error("User not found for userId: {}", userId); + } + else{ + Department department = restTemplate.getForObject("http://DEPARTMENT-SERVICE/departments/" + user.getDepartmentId() ,Department.class); - - vo.setUser(user); - vo.setDepartment(department); + + if (department == null) { + log.error("Department not found for departmentId: {}", user.getDepartmentId()); + } + vo.setUser(user); + vo.setDepartment(department); + } return vo; }