Spring webflux 将 body 读取为 jackson JsonNode?

Spring webflux read body as a jackson JsonNode?

是否可以将 JSON 正文读入 Mono?

我有类似下面的内容

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

可以这样做吗?

如果你想把它转换成 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
}

是的,这是可能的,在运行时它映射到一个 ObjectNode。

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