为Spring WebTestClient手动配置Jackson模块 先决条件 弹簧启动:2.0.3.释放 弹簧座文档:2.0.1.发布 Spring Auto REST文档:2.0.2-SNAPSHOT-这是的本地版本

为Spring WebTestClient手动配置Jackson模块 先决条件 弹簧启动:2.0.3.释放 弹簧座文档:2.0.1.发布 Spring Auto REST文档:2.0.2-SNAPSHOT-这是的本地版本,spring,spring-boot,jackson,geojson,spring-webflux,Spring,Spring Boot,Jackson,Geojson,Spring Webflux,GeoJsonModule在主应用程序中配置: import org.springframework.data.mongodb.core.geo.GeoJsonModule; @SpringBoot应用程序 公共类MyApplication{ [...] @豆子 公共GeoJsonModule注册表GeoJsonModule(){ 返回新的GeoJsonModule(); } [...] } 我正在使用,因此无法使用@AutoConfigure-注释(或者至少我不知道如何使用) 当前实施 我将

GeoJsonModule在主应用程序中配置:

import org.springframework.data.mongodb.core.geo.GeoJsonModule;
@SpringBoot应用程序
公共类MyApplication{
[...]
@豆子
公共GeoJsonModule注册表GeoJsonModule(){
返回新的GeoJsonModule();
}
[...]
}
我正在使用,因此无法使用
@AutoConfigure
-注释(或者至少我不知道如何使用)

当前实施 我将WebTestClient配置为:

WebTestClient
.bindToApplicationContext(上下文)
.configureClient()
.过滤器(
WebTestClientRestDocumentation
.documentationConfiguration(restDocumentation)
.snippets()
.默认情况下(
WebTestClientInitializer.prepareSnippets(上下文),
CliDocumentation.curlRequest(),
HttpDocumentation.httpRequest(),
HttpDocumentation.httpResponse(),
AutoDocumentation.requestFields(),
AutoDocumentation.responseFields(),
AutoDocumentation.pathParameters(),
AutoDocumentation.requestParameters(),
AutoDocumentation.description(),
AutoDocumentation.methodAndPath(),
AutoDocumentation.section()
)
)
.build();
但是,像这样使用WebTestClient时,我会出现以下错误:

org.springframework.core.codec.codeception:类型定义错误:[简单类型,类org.springframework.data.mongodb.core.geo.GeoJsonPoint];嵌套异常为com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造“org.springframework.data.mongodb.core.geo.GeoJsonPoint”的实例(不存在与默认构造类似的创建者):无法从对象值反序列化(没有委托或基于属性的创建者)
位于[来源:未知;第-1行,第-1列](通过引用链:com.example.MyClass[“location”])
所以我环顾四周发现,和是

将初始化更改为包含自定义项可以修复反序列化问题,并且可以正常工作

Collection customizers=context.getBeansOfType(CodecCustomizer.class).values();
SpringBootWebTestClientBuilderCustomizer builderCustomizer=新的SpringBootWebTestClientBuilderCustomizer(定制器);
自定义(builder);
builder.build();
然而,我不知道这是否是配置WebTestClient的正确方法,它是否完全工作,或者是否仍然有问题,我只是还没有发现

不知何故,我认为这不是预期的方式,我想知道如何正确配置WebTestClient