Java 如何将GraphQL SPQR配置为使用Gson而不是Jackson
我注意到GraphQL SPQR至少有几个属性可以配置(例如Java 如何将GraphQL SPQR配置为使用Gson而不是Jackson,java,jackson,gson,graphql-spqr,graphql-spring-boot,Java,Jackson,Gson,Graphql Spqr,Graphql Spring Boot,我注意到GraphQL SPQR至少有几个属性可以配置(例如GraphQL.SPQR.gui.enabled=true)。是否有用于指定使用Gson而不是Jackson进行对象序列化/反序列化的配置 如果没有配置,是否有其他方法可以在GraphQL SPQR中使用Gson而不是Jackson 注意:我已经在我的应用程序.properties中使用了spring.http.converters.preferred json mapper=gson,来覆盖spring以使用gson而不是Jackso
GraphQL.SPQR.gui.enabled=true
)。是否有用于指定使用Gson而不是Jackson进行对象序列化/反序列化的配置
如果没有配置,是否有其他方法可以在GraphQL SPQR中使用Gson而不是Jackson
注意:我已经在我的应用程序.properties
中使用了spring.http.converters.preferred json mapper=gson
,来覆盖spring以使用gson而不是Jackson,但它似乎没有覆盖GraphQL SPQR的值映射器(默认为Jackson)
非常感谢您的帮助:)您只需注册一个
ValueMapperFactory
bean即可
@Bean
public ValueMapperFactory gson() {
return new GsonValueMapperFactory();
}
要自定义工厂,请使用生成器而不是构造函数:
@Bean
public ValueMapperFactory gson(Gson gson) {
return GsonValueMapperFactory.builder()
.withPrototype(gson)
.build();
}
您可以找到列出的大多数可定制bean
我还认为尊重spring.http.converters.preferredJSON映射器是个好主意。我将在以后的版本中添加这一点。跟随进步
但请注意,Gson映射要比Jackson的简单得多。它的特性要少得多,只考虑字段(而不是构造函数参数或setter),并且可能与基于Jackson的映射的行为不完全相同。但我想你知道这一点,因为你明确希望使用它