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

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)
);
}
主站蜘蛛池模板: 平远县| 石城县| 行唐县| 淳化县| 汉阴县| 康乐县| 太谷县| 五常市| 乾安县| 富川| 闸北区| 利津县| 天峨县| 临武县| 灵山县| 社旗县| 龙泉市| 介休市| 兴海县| 阿拉善左旗| 安庆市| 罗城| 枝江市| 阆中市| 九台市| 嘉义县| 永州市| 页游| 永年县| 黔江区| 阿拉善右旗| 华宁县| 大冶市| 德令哈市| 哈尔滨市| 延安市| 中超| 桐柏县| 长丰县| 南宁市| 贵定县|