gpt4 book ai didi

java - JsonIgnore 不适用于 Spring

转载 作者:行者123 更新时间:2023-12-02 03:38:01 27 4
gpt4 key购买 nike

如何解决这个问题?

我尝试将 @JsonIgnore 添加到 getter,但结果是相同的。

POJO:

public class Category {
// Omitted details

@JsonIgnore
private List<Category> children;
}

来自build.gradle:

'com.fasterxml.jackson.core:jackson-annotations:2.7.3'

Spring 版本:

4.2.6.RELEASE

上下文:

<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.GsonHttpMessageConverter"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jacksonMessageConverter"/>
</list>
</property>
</bean>

最佳答案

首先,添加 jackson-databind 依赖项:

'com.fasterxml.jackson.core:jackson-databind:2.7.3'

您可以删除jackson-annotations,因为它将被传递解析。然后,在类路径上使用适当的 Jackson jar,Spring MVC 将自动为您配置所需的 HttpMessageConverter。因此,无需手动注册它们。因此,您可以安全地摆脱以下内容:

<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.GsonHttpMessageConverter"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jacksonMessageConverter"/>
</list>
</property>
</bean>

Spring 通常使用定义明确且长的抽象名称,因此您可以轻松地找出每个抽象名称的用途。显然,GsonHttpMessageConverterGsonHttpMessageConverter ,不是Jackson 。结账Spring documentation进行更详细的讨论。

关于java - JsonIgnore 不适用于 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37205370/

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