Spring5 WebFlux 如何获取服务端响应的 JSONArray?

spring5 webflux 如何获取服务端响应的 jsonarray?

spring5 webflux 获取服务端响应

在使用 webflux 框架进行服务端通信时,有时我们需要获取服务端响应并将其传递给其他方法进行后续处理。然而,示例代码中设置了 return null,无法直接获取返回的对象。

要解决这个问题,我们可以使用以下方法:

  1. 将 return null 改为 return groupsstr:

    string groupsstr = jsonobject.getstring("group_chat_list");
    log.info("groupsstr:{}", groupsstr);
    return groupsstr;
  2. 声明 groupsstr 在 log.info("进入dopost方法"); 下面:

    log.info("进入dopost方法");
    string groupsstr = null;
    ...
    return groupsstr;
  3. 在 flatmap 的回调函数中直接返回 mono.just(jsonobjectjsonarray),而不使用 subscribe:

    .flatMap(jsonObject -> {
        String groupsStr = jsonObject.getString("group_chat_list");
        log.info("groupsStr:{}", groupsStr);
        JSONArray jsonObjectJSONArray = jsonObject.getJSONArray("group_chat_list");
        if (jsonObjectJSONArray != null) {
            return Mono.just(jsonObjectJSONArray);
        } else {
            return Mono.empty();
        }
    })

这样,就可以在调用 dopostandsavelist 方法时,直接获取到服务端返回的 jsonarray。

以上就是Spring5 WebFlux 如何获取服务端响应的 JSONArray?的详细内容,更多请关注其它相关文章!