[英]set Object Mapper SerializationFeature in spring configuration
I want to configure my Jackson (2.7.4) to indent output (pretty print) in my Spring (4.2.6) MVC controllers. 我想将我的Jackson(2.7.4)配置为在Spring(4.2.6)MVC控制器中缩进输出(漂亮的打印)。
I have controllers that have the @ResponseBody that of course converts to JSON. 我有具有@ResponseBody的控制器,该控制器当然可以转换为JSON。 I am using a context.xml file.
我正在使用context.xml文件。 I have this so far:
到目前为止,我有:
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<!--- WHAT GOES HERE -->
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
I want to set configure(SerializationFeature f, boolean state) of the ObjectMapper like this: 我想像这样设置ObjectMapper的configure(SerializationFeature f,boolean state):
configure(SerializationFeature.INDENT_OUTPUT, TRUE)
How do I do this in my spring context? 在春季,我该怎么做?
You can use Jackson2ObjectMapperFactoryBean to configure ObjectMapper instance 您可以使用Jackson2ObjectMapperFactoryBean配置ObjectMapper实例
Example 例
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
p:failOnEmptyBeans="false"
p:indentOutput="true">
<!-- Other properties -->
</bean>
</property>
Are you looking somthing like this? 你看起来像这样吗
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.kulhade.config.CustomObjectMapper">
<constructor-arg type="com.fasterxml.jackson.databind.SerializationFeature" value="INDENT_OUTPUT"/>
<constructor-arg type="boolean" value="true"/>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
Below will be CustomObjectMapper 下面将是CustomObjectMapper
public class CustomObjectMapper extends ObjectMapper{
public CustomObjectMapper(SerializationFeature feature,boolean value) {
this.configure(feature, value);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.