/**
* json null值不返回
*
* @author xulin
* @version 1.0 2015年3月10日
*/
public class NotNullObjectMapper extends ObjectMapper {
private static final long serialVersionUID = 8832585844584959426L;
public NotNullObjectMapper() {
this.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
this.setSerializationInclusion(Include.NON_NULL);
this.registerModule(new SimpleModule().addSerializer(EmptyObject.class, new EmptyObjectSerializer()));
}
/**
* 将空对像转为大括号{}
*
* @author xulin
* @version 1.0 2015年3月10日
*/
private class EmptyObjectSerializer extends JsonSerializer<EmptyObject> {
@Override
public void serialize(EmptyObject value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
JsonProcessingException {
jgen.writeStartObject();
jgen.writeEndObject();
}
}
public static class PicPathSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
JsonProcessingException {
jgen.writeNumber(value);
}
}
}
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.snail.assistant.util.NotNullObjectMapper"/>
</property>
<property name="prettyPrint" value="true"/>
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
</mvc:message-converters>
<mvc:argument-resolvers>
<bean class="com.snail.assistant.web.bind.method.support.PageableMethodArgumentResolver"/>
<bean class="com.snail.assistant.web.bind.method.support.CurrentUserMethodArgumentResolver"/>
</mvc:argument-resolvers>
</mvc:annotation-driven>