官术网_书友最值得收藏!

deleteUser – implementation in the handler and repository

Here, we will define and implement the deleteUser method in our repository. Also, we will call the deleteUser method in the main class through UserHandler.

As usual, we will add an abstract method for the deleteUser method in the UserRepository class:

Mono<Void> deleteUser(Integer id);

In the UserRepositorySample.java file, we will add the deleteUser method to remove the specified user from the list:

@Override
public Mono<Void> deleteUser(Integer id) {
users.remove(id);
System.out.println("user : "+users);
return Mono.empty();
}

In the preceding method, we simply remove the element from users and return an empty Mono object.

As we have added the deleteUser method in the repository, here we will follow up on our handler:

public Mono<ServerResponse> deleteUser(ServerRequest request) { 
int userId = Integer.valueOf(request.pathVariable("id"));
return ServerResponse.ok().build(this.userRepository.deleteUser(userId));
}

Finally, we will add the REST API path to save the user in our existing routing function in Server.java:

public RouterFunction<ServerResponse> routingFunction() {
UserRepository repository = new UserRepositorySample();
UserHandler handler = new UserHandler(repository);
return nest (
path("/user"),
nest(
accept(MediaType.ALL),
route(GET("/"), handler::getAllUsers)
)
.andRoute(GET("/{id}"), handler::getUser)
.andRoute(POST("/").and(contentType(APPLICATION_JSON)), handler::createUser)
.andRoute(PUT("/").and(contentType(APPLICATION_JSON)), handler::updateUser)
.andRoute(DELETE("/{id}"), handler::deleteUser)
);
}
主站蜘蛛池模板: 永安市| 嫩江县| 贵溪市| 通州市| 集贤县| 磐石市| 观塘区| 务川| 剑河县| 南昌市| 宁河县| 南郑县| 广宁县| 蓬莱市| 区。| 鄂尔多斯市| 泸州市| 双城市| 南宁市| 呼伦贝尔市| 普格县| 尖扎县| 福安市| 类乌齐县| 黄骅市| 遵义县| 建昌县| 平潭县| 瑞昌市| 娄底市| 洪江市| 岳普湖县| 吴江市| 太保市| 巴马| 南宫市| 宕昌县| 昭通市| 沙田区| 长岛县| 盈江县|