gpt4 book ai didi

java - 如何配置 GraphQL SPQR 以使用 Gson 而不是 Jackson

转载 作者:行者123 更新时间:2023-12-02 09:10:29 24 4
gpt4 key购买 nike

我注意到 GraphQL-SPQR 至少有几个可以配置的属性(例如 graphql.spqr.gui.enabled=true)。是否有配置指定使用 Gson 而不是 Jackson 进行对象序列化/反序列化?

如果没有配置,是否有其他方法可以使用 Gson 而不是 Jackson 进行 GraphQL-SPQR?

NOTE: I am already using spring.http.converters.preferred-json-mapper=gson in my application.properties, to override spring in general to use Gson instead of Jackson, but it doesn't seem to override GraphQL-SPQR's value mapper (defaults to Jackson).

非常感谢任何帮助:)

最佳答案

您需要做的就是注册一个 ValueMapperFactory bean,例如

@Bean
public ValueMapperFactory gson() {
return new GsonValueMapperFactory();
}

要自定义工厂,请使用构建器而不是构造函数:

@Bean
public ValueMapperFactory gson(Gson gson) {
return GsonValueMapperFactory.builder()
.withPrototype(gson)
.build();
}

您可以找到列出的大多数可自定义的bean here .

我也认为尊重 spring.http.converters.preferred-json-mapper 是一个好主意。我将在未来的版本中添加这一点。关注 this issue为了进步。

请注意,Gson 映射比 Jackson 的映射简单得多。它的功能少得多,只考虑字段(不考虑构造函数参数或 setter ),并且可能不会与基于 Jackson 的映射完全相同。但我想您已经意识到这一点,因为您明确希望使用它。

关于java - 如何配置 GraphQL SPQR 以使用 Gson 而不是 Jackson,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59461703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com