All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.anonymousmister.bootfastconfig.config.WebMvcConfig Maven / Gradle / Ivy

package com.github.anonymousmister.bootfastconfig.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
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.validation.Validator;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.List;

/**
 * @author admin
 * @date 2019/7/1010:24
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {


    @Autowired
    private MessageSource messageSource;
    @Autowired
    private HttpMessageConverter myhttpMessageConverter;


    @Override
    public Validator getValidator() {
        return validator();
    }


    @Bean
    public LocalValidatorFactoryBean validator() {
        LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
        validator.setValidationMessageSource(messageSource);
        return validator;
    }


    @Bean
    public StringHttpMessageConverter messageConverter() {
        return new StringHttpMessageConverter(StandardCharsets.UTF_8);
    }


    @Override
    public void configureMessageConverters(List> converters) {
        Iterator> iterator = converters.iterator();
        while (iterator.hasNext()) {
            HttpMessageConverter converter = iterator.next();
            if (converter instanceof StringHttpMessageConverter) {
                iterator.remove();
            }
        }

        converters.add(myhttpMessageConverter);
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy