springboot2.0 controller or a question mark Chinese garbled solution

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 }
WebMvcConfigurer

 

Guess you like

Origin www.cnblogs.com/rolayblog/p/12661597.html