如何自定义SpringWebFlux WebClient JSON反序列化?
2022-08-31 20:57:23
我正在使用spring-webflux WebClient(build 20170502.221452-172)来访问一个Web应用程序,该应用程序生成一个条目对象流(application/stream+ json),如下所示:
final WebClient producerClient = WebClient.create("http://localhost:8080/");
Flux<Entry> entries = producerClient.get().uri("json-stream")
.accept(MediaType.APPLICATION_STREAM_JSON)
.exchange()
.flatMapMany(clientResponse -> clientResponse.bodyToFlux(Entry.class));
虽然 Entry 对象的反序列化对于使用标准通用类型(包括 Java time (JSR-310) 数据类型(如 java.time.Instant))的 POJO 来说效果很好,但我想知道为了将任何自定义 JSON 添加到 Java 反序列化(例如,自定义 Jackson ObjectMapper),我必须做些什么。
我无法在WebClient或其构建器生成的对象类中找到任何API和流畅的API来做到这一点。
有没有人使用WebClient进行自定义的反序列化?
(也许API还不存在?