gpt4 book ai didi

apache - 从 apache cxf REST 响应中删除空值字段

转载 作者:行者123 更新时间:2023-12-01 09:21:56 25 4
gpt4 key购买 nike

我在我的 REST 服务网站中使用 apache-cxf 2.7.11 + jackson (codehaus) 1.9.13 + spring 3.5 -容器。我想知道从 REST 响应中删除 null 值字段的最佳方法是什么。

例如:
我现在的回复是这样的:

{
"name": "MyName",
"age": 10,
"address": null
}

我希望我的回复是这样的(address 字段已被删除):

{
"name": "MyName",
"age": 10
}

我在此处阅读了有关 apache-cxf 拦截器和过滤器的信息:

并想知道最佳实践是什么?有没有我可以更改的可配置设置,而不是实现我自己的文件管理器或拦截器类?

我正在使用 beans.xml 文件进行配置,因此我正在寻找如何在此处配置它,我的 bean 所在的位置:

<bean id="jaxrsRestJacksonObjectMapper" class="org.codehaus.jackson.map.ObjectMapper"/>

<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider">
<property name="mapper" ref="jaxrsRestJacksonObjectMapper"/>
</bean>


<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>

</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jsonProvider"/>
</jaxrs:providers>

</jaxrs:server>

干杯!

最佳答案

找到了!
这是我一直在寻找的答案:

查看更新后的 beans.xml 文件:

<bean id="jacksonObjectMapper" class="org.codehaus.jackson.map.ObjectMapper">
<property name="serializationInclusion" value="NON_NULL"/>
</bean>

<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider">
<property name="mapper" ref="jacksonObjectMapper"/>
</bean>

关于apache - 从 apache cxf REST 响应中删除空值字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31636773/

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