java110
2023-08-18 af9372cee0fd72e5c70cc223f81efd6c32117535
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.java110.service.configuration;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
import java.nio.charset.Charset;
import java.util.List;
 
/**
 * 前台提交乱码解决
 * Created by wuxw on 2018/5/14.
 */
@Configuration
public class CustomMVCConfiguration extends WebMvcConfigurerAdapter {
 
    @Bean
    public HttpMessageConverter<String> responseBodyConverter() {
        StringHttpMessageConverter converter = new StringHttpMessageConverter(
                Charset.forName("UTF-8"));
        converter.setWriteAcceptCharset(false);
        return converter;
    }
 
    @Override
    public void configureMessageConverters(
            List<HttpMessageConverter<?>> converters) {
        super.configureMessageConverters(converters);
        converters.add(responseBodyConverter());
    }
 
    @Override
    public void configureContentNegotiation(
            ContentNegotiationConfigurer configurer) {
        configurer.favorPathExtension(false);
    }
 
    /**
     * +对于header中的中文字进行解码
     *
     * @return 转换结果
     */
    @Bean
    public StringDecoderForHeaderConverter stringHeaderConverter() {
        return new StringDecoderForHeaderConverter(Charset.forName("UTF-8"));
    }
}