繁体   English   中英

从 spring webflux 中的 post 请求打印处理程序中的正文

[英]Print body in handler from post request in spring webflux

我对 Reactive Spring Webflux 完全陌生。 我正在为 Post 请求编写一个处理程序,它应该

  1. 接受 Json 正文(员工 ID、姓名和角色),
  2. 使用 id 字段从数据库 1 中获取更多员工详细信息,
  3. 返回员工 json 并返回其他属性,例如年龄和部门。

我的路由器代码如下:

 @Bean       
        -- something like this       
       POST("/empl/create").and(contentType(APPLICATION_JSON)), emplHandler::getMoreEmplDetails
  

帖子正文:

   {
         "id":"213"
         "name": "John",
         "role": "Manager"
    }

Model Class 看起来像这样

Public class Employee    
    {
       Public string  id;
       Public string name;
       Public string role;
       Public string dept;
       Public int age;
    }

处理程序代码如下

public Mono<ServerResponse>getMoreEmplDetails(ServerRequest request){
               Mono<Employee> np = request.bodyToMono(Employee.class);
               np.subscribe(x-> System.out.println("Print Body"+x)); 
                                                            //This returns a MonoOnErrorResume

                       /* More code should follow here*/

Return Mono.empty()// THIS IS TEMPORARY. I WANT TO RETURN COMPLETE EMPL JSON WITH AGE AND DEPT HERE
};

问题是我想打印正文以进行调试,但继续获取 MonoOnErrorResume,如处理程序代码中的注释所示。 如何确保处理程序方法正确接收了我的 Body?

我能够使用 map 来记录结果。

Mono<Employee> np = request.bodyToMono(Employee.class);
np.map(s->system.out.println(s));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM