问题描述
使用 Postman 发送Post请求
请求头:Content-Type : application/json
请求参数:{“hello”: “hello”,“name”: “zhangsan”}
System.out.println(body)
时,打印出来的是 MonoOnErrorResume
body.subscribe()
方法内的代码也不会执行
环境
Spring boot 2.1.5
相关代码
// RouterFunction
@Bean
public RouterFunction<ServerResponse> routerFunction() {
return route(POST("/example/add").and(accept(APPLICATION_JSON)), exampleHandler::add);
}
public class ExampleHandler {
public Mono<ServerResponse> add(ServerRequest serverRequest){
Mono<Map> body = serverRequest.bodyToMono(Map.class);
System.out.println(body);
body.subscribe(ExampleHandler::println);
return ServerResponse.status(HttpStatus.OK)
.body(Mono.just("OK"), String.class);
}
private static void println(Object o) {
String threadName = Thread.currentThread().getName();
System.out.println("[ 线程: "+threadName + " ] "+ o);
}
}
结果
MonoOnErrorResume
解决了吗兄弟