diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..5ff6309b7199129c1afe4f4ec1906e640bec48c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/src/main/java/com/example/kafka/controller/DepartmentController.java b/src/main/java/com/example/kafka/controller/DepartmentController.java index a3cccea38b97470b1953f54009a8a2c74f7d869f..b18bdbe4811c05108e31610e20090ea5cb77b1b8 100644 --- a/src/main/java/com/example/kafka/controller/DepartmentController.java +++ b/src/main/java/com/example/kafka/controller/DepartmentController.java @@ -70,15 +70,25 @@ public class DepartmentController { } @GetMapping("/fetchAll/{departmentId}") - public Mono<UserResponse> getDepartmentAndUsersById(@PathVariable String departmentId){ + public Mono<UserResponse> getMonoDepartmentAndUsersById(@PathVariable String departmentId){ Mono<Department> department = departmentService.findById(departmentId); - return department.flatMap(d-> userService.fetchUserByDepartmentName("d.getName()").collectList().map(users->{ + return department.flatMap(d-> userService.fetchUserByDepartmentName(d.getName()).collectList().map(users->{ UserResponse userResponse = new UserResponse(); userResponse.setUserList(users); return userResponse; })); } + @GetMapping("/fetchAll") + public Flux<UserResponse> getFluxDepartmentAndUsersById(@RequestParam(value = "departmentId") String departmentId){ + Mono<Department> department = departmentService.findById(departmentId); + return department.flatMapMany(d-> userService.fetchUserByDepartmentName(d.getName()).map(user -> { + UserResponse userResponse = new UserResponse(); + userResponse.setUser(user); + return userResponse; + })); + } + } diff --git a/src/main/java/com/example/kafka/entity/UserResponse.java b/src/main/java/com/example/kafka/entity/UserResponse.java index bab0a05990ad080b2551894a157a24f4873eb94f..b324ac6ba45d27106c36e1380411084ad34f7d73 100644 --- a/src/main/java/com/example/kafka/entity/UserResponse.java +++ b/src/main/java/com/example/kafka/entity/UserResponse.java @@ -1,5 +1,6 @@ package com.example.kafka.entity; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -11,15 +12,8 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor @ToString +@JsonInclude(JsonInclude.Include.NON_NULL) public class UserResponse { - - /** - * User id - */ - private String id; - - /** - * User name - */ private List<User> userList; + private User user; }