在项目中想配置一个json转换器,结果不生效
原因:WebMvcConfigurationSupport(WebMvcConfigurer)在项目中有且仅有一个,如有多个会导致一个失效。
配置转换代码
@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer {
@Bean
public AuthInterceptor authInterceptor() {
return new AuthInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authInterceptor()).addPathPatterns("/**");
}
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter messageConverter = new FastJsonHttpMessageConverter();
ArrayList<MediaType> mediaTypes = CollUtil.newArrayList(
MediaType.parseMediaType("application/json;charset=UTF-8"));
messageConverter.setSupportedMediaTypes(mediaTypes);
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
SerializerFeature.WriteMapNullValue,
SerializerFeature.WriteNullStringAsEmpty,
SerializerFeature.QuoteFieldNames,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteNullListAsEmpty
);
messageConverter.setFastJsonConfig(fastJsonConfig);
converters.add(0, messageConverter);
}
}