您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在使用GsonHttpMessageConverter之前在Spring中配置Gson

在使用GsonHttpMessageConverter之前在Spring中配置Gson

扩展WebMvcConfigurerAdapter或如果需要更多控件使用WebMvcConfigurationSupport

@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(createGsonHttpMessageConverter());
        super.configureMessageConverters(converters);
    }

    private GsonHttpMessageConverter createGsonHttpMessageConverter() {
        Gson gson = new GsonBuilder()
                .excludeFieldsWithoutExposeAnnotation()
                .setDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS'Z'")
                .create();

        GsonHttpMessageConverter gsonConverter = new GsonHttpMessageConverter();
        gsonConverter.setGson(gson);

        return gsonConverter;
    }

}

您可以阅读有关如何自定义提供的配置的更多信息

在DispatcherServlet上下文中:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
        <property name="dateFormat" value="yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS'Z'" />
    </bean>

    <bean class="org.springframework.beans.factory.config.MethodInvokingfactorybean">
        <property name="targetObject" ref="gsonBuilder" />
        <property name="targetmethod" value="excludeFieldsWithoutExposeAnnotation" />
    </bean>

    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.json.GsonHttpMessageConverter">
                <property name="gson">
                    <bean class="com.google.gson.Gson" factory-bean="gsonBuilder" factory-method="create" />
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

</beans>
Java 2022/1/1 18:14:10 有781人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶