Skip to content

Commit b14e833

Browse files
committed
JAVA-8149: Update Introduction to the Functional Web Framework in Spring
5
1 parent a7cae2e commit b14e833

2 files changed

Lines changed: 36 additions & 47 deletions

File tree

spring-reactive/src/main/java/com/baeldung/reactive/webflux/functional/EmployeeFunctionalConfig.java

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,49 +25,39 @@ EmployeeRepository employeeRepository() {
2525

2626
@Bean
2727
RouterFunction<ServerResponse> getAllEmployeesRoute() {
28-
return route(GET("/employees"),
29-
req -> ok().body(
30-
employeeRepository().findAllEmployees(), Employee.class));
28+
return route(GET("/employees"), req -> ok().body(employeeRepository().findAllEmployees(), Employee.class));
3129
}
3230

3331
@Bean
3432
RouterFunction<ServerResponse> getEmployeeByIdRoute() {
35-
return route(GET("/employees/{id}"),
36-
req -> ok().body(
37-
employeeRepository().findEmployeeById(req.pathVariable("id")), Employee.class));
33+
return route(GET("/employees/{id}"), req -> ok().body(employeeRepository().findEmployeeById(req.pathVariable("id")), Employee.class));
3834
}
3935

4036
@Bean
4137
RouterFunction<ServerResponse> updateEmployeeRoute() {
42-
return route(POST("/employees/update"),
43-
req -> req.body(toMono(Employee.class))
38+
return route(POST("/employees/update"), req -> req.body(toMono(Employee.class))
4439
.doOnNext(employeeRepository()::updateEmployee)
4540
.then(ok().build()));
4641
}
4742

4843
@Bean
4944
RouterFunction<ServerResponse> composedRoutes() {
50-
return
51-
route(GET("/employees"),
52-
req -> ok().body(
53-
employeeRepository().findAllEmployees(), Employee.class))
45+
return route(GET("/employees"), req -> ok().body(employeeRepository().findAllEmployees(), Employee.class))
5446

55-
.and(route(GET("/employees/{id}"),
56-
req -> ok().body(
57-
employeeRepository().findEmployeeById(req.pathVariable("id")), Employee.class)))
47+
.and(route(GET("/employees/{id}"), req -> ok().body(employeeRepository().findEmployeeById(req.pathVariable("id")), Employee.class)))
5848

59-
.and(route(POST("/employees/update"),
60-
req -> req.body(toMono(Employee.class))
49+
.and(route(POST("/employees/update"), req -> req.body(toMono(Employee.class))
6150
.doOnNext(employeeRepository()::updateEmployee)
6251
.then(ok().build())));
6352
}
6453

6554
@Bean
6655
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
67-
http
68-
.csrf().disable()
69-
.authorizeExchange()
70-
.anyExchange().permitAll();
56+
http.csrf()
57+
.disable()
58+
.authorizeExchange()
59+
.anyExchange()
60+
.permitAll();
7161
return http.build();
7262
}
73-
}
63+
}

spring-reactive/src/test/java/com/baeldung/reactive/webflux/functional/EmployeeSpringFunctionalIntegrationTest.java

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -31,55 +31,54 @@ public class EmployeeSpringFunctionalIntegrationTest {
3131

3232
@Test
3333
public void givenEmployeeId_whenGetEmployeeById_thenCorrectEmployee() {
34-
WebTestClient client = WebTestClient
35-
.bindToRouterFunction(config.getEmployeeByIdRoute())
36-
.build();
34+
WebTestClient client = WebTestClient.bindToRouterFunction(config.getEmployeeByIdRoute())
35+
.build();
3736

3837
Employee employee = new Employee("1", "Employee 1");
3938

4039
given(employeeRepository.findEmployeeById("1")).willReturn(Mono.just(employee));
4140

4241
client.get()
43-
.uri("/employees/1")
44-
.exchange()
45-
.expectStatus().isOk()
46-
.expectBody(Employee.class).isEqualTo(employee);
42+
.uri("/employees/1")
43+
.exchange()
44+
.expectStatus()
45+
.isOk()
46+
.expectBody(Employee.class)
47+
.isEqualTo(employee);
4748
}
4849

4950
@Test
5051
public void whenGetAllEmployees_thenCorrectEmployees() {
51-
WebTestClient client = WebTestClient
52-
.bindToRouterFunction(config.getAllEmployeesRoute())
53-
.build();
52+
WebTestClient client = WebTestClient.bindToRouterFunction(config.getAllEmployeesRoute())
53+
.build();
5454

55-
List<Employee> employees = Arrays.asList(
56-
new Employee("1", "Employee 1"),
57-
new Employee("2", "Employee 2")
58-
);
55+
List<Employee> employees = Arrays.asList(new Employee("1", "Employee 1"), new Employee("2", "Employee 2"));
5956

6057
Flux<Employee> employeeFlux = Flux.fromIterable(employees);
6158
given(employeeRepository.findAllEmployees()).willReturn(employeeFlux);
6259

6360
client.get()
64-
.uri("/employees")
65-
.exchange()
66-
.expectStatus().isOk()
67-
.expectBodyList(Employee.class).isEqualTo(employees);
61+
.uri("/employees")
62+
.exchange()
63+
.expectStatus()
64+
.isOk()
65+
.expectBodyList(Employee.class)
66+
.isEqualTo(employees);
6867
}
6968

7069
@Test
7170
public void whenUpdateEmployee_thenEmployeeUpdated() {
72-
WebTestClient client = WebTestClient
73-
.bindToRouterFunction(config.updateEmployeeRoute())
74-
.build();
71+
WebTestClient client = WebTestClient.bindToRouterFunction(config.updateEmployeeRoute())
72+
.build();
7573

7674
Employee employee = new Employee("1", "Employee 1 Updated");
7775

7876
client.post()
79-
.uri("/employees/update")
80-
.body(Mono.just(employee), Employee.class)
81-
.exchange()
82-
.expectStatus().isOk();
77+
.uri("/employees/update")
78+
.body(Mono.just(employee), Employee.class)
79+
.exchange()
80+
.expectStatus()
81+
.isOk();
8382

8483
verify(employeeRepository).updateEmployee(employee);
8584
}

0 commit comments

Comments
 (0)