Spring Webflux将身体读为杰克逊JsonNode吗?

时间:2018-12-18 18:21:40

标签: spring jackson spring-webflux project-reactor

是否可以将JSON正文读取到Mono中?

我有类似以下内容

public void myHandler(ServerRequest request) {
    request.bodyToMono(JsonNode.class);
}

可以这样做吗?

2 个答案:

答案 0 :(得分:1)

是的,在运行时它可以映射到ObjectNode。

public void myHandler(ServerRequest request) {
    request.bodyToMono(ObjectNode.class);
}

答案 1 :(得分:0)

如果要将其转换为JsonNode,则只需执行一个中间步骤即可进行转换:

// Autowire in the ObjectMapper using your desired method
private ObjectMapper mapper;

public Mono<ServerResponse> myHandler(ServerRequest request) {
    Mono<JsonNode> nodeMono = request.bodyToMono(String.class)
        // Wire in your ObjectMapper
        .map(mapper::readTree);
    // Do something with Mono and return a ServerResponse
}