The development process has been the Chinese? ? ? Display, according to online posts have no effect after modifying the configuration file. Later I happened to read an article, the fastjson change to the default sequence plugin, after adding no problem.
1 package com.leenleda.ward.tv.admin.interceptor; 2 3 import com.alibaba.fastjson.serializer.SerializerFeature; 4 import com.alibaba.fastjson.support.config.FastJsonConfig; 5 import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; 6 import com.leenleda.ward.tv.common.config.LeenledaConfig; 7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.context.annotation.Configuration; 9 import org.springframework.http.MediaType; 10 import org.springframework.http.converter.HttpMessageConverter; 11 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; 12 import org.springframework.web.servlet.config.annotation.EnableWebMvc; 13 import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 14 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 15 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 16 17 import javax.annotation.Resource; 18 import java.util.ArrayList; 19 import java.util.Arrays; 20 import java.util.List; 21 22 23 /** 24 * @Author: pengbenlei 25 * @Date: 2020/2/19 11:22 26 * @Description: 27 */ 28 @Configuration 29 @EnableWebMvc 30 public class CustomMVCConfiguration implements WebMvcConfigurer { 31 32 @Resource 33 LoginInterceptor loginInterceptor; 34 35 @Autowired 36 LeenledaConfig leenledaConfig; 37 38 @Override 39 public void addInterceptors (InterceptorRegistry Registry) { 40 // Log interceptor 41 is registry.addInterceptor (loginInterceptor) .addPathPatterns ( "/ ADMIN / **"). ExcludePathPatterns (Arrays.asList ( "/ File / **" ) ); 42 } 43 is 44 is / ** 45 * add static resource files, can directly access the external address 46 is * 47 * @param Registry 48 * / 49 @Override 50 public void addResourceHandlers (ResourceHandlerRegistry Registry) { 51 is String locationPath = "file:" + leenledaConfig.getLeenledaUploadRoot() + "/leenleda/application/"; 52 registry.addResourceHandler("/file/**") 53 .addResourceLocations(locationPath); 54 } 55 56 @Override 57 public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { 58 59 for (int i = converters.size() - 1; i >= 0; i--) { 60 if (converters.get(i) instanceof MappingJackson2HttpMessageConverter) { 61 converters.remove (I); 62 is } 63 is } 64 FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new new FastJsonHttpMessageConverter (); 65 FastJsonConfig config = new new FastJsonConfig (); 66 config.setSerializerFeatures ( 67 SerializerFeature.WriteMapNullValue, // if the output field is null, a default is to false 68 SerializerFeature.WriteNullListAsEmpty, // the output field null Collection for type field [] 69 SerializerFeature.WriteNullStringAsEmpty, //The null output string is an empty string type field 70 SerializerFeature.WriteNullNumberAsZero, // null value output value type field is 0 71 is SerializerFeature.WriteDateUseDateFormat, 72 SerializerFeature.DisableCircularReferenceDetect // disable circular reference 73 is ); 74 fastJsonHttpMessageConverter. setFastJsonConfig (config); 75 // add support MediaTypes; the default is not added as a * / *, which is the default support all 76 // but MappingJackson2HttpMessageConverter which supports MediaTypes to the Application / json 77 // refer to its practice, fastjson also just add application / json of MediaType 78 List<MediaType> fastMediaTypes = new ArrayList<>(); 79 fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); 80 fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes); 81 converters.add(fastJsonHttpMessageConverter); 82 } 83 84 }