spring boot整合swagger时,打开swagger-ui中文出现乱码

问题记录:


中文出现乱码.png

本例采用的swagger版本及相关组件

<!-- swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-models</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.6.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- swagger2 -->

问题出现原因:
加入了Shiro后就出现了乱码,可能是在加入Shiro的时候编码选择错了,网上介绍的办法大多是在setting设置以及对tomcat的设置,但是还是不得,在先不探讨Shiro倒置的情况下,找到了如下的解决办法
在config类中,继承自WebMvcConfigurationSupport类,重写以下方法:

@Override
public void configureMessageConverters(List> converters) {
    super.configureMessageConverters(converters);
    converters.add(responseBodyConverter());
}
@Bean
public HttpMessageConverter responseBodyConverter() {
    return new StringHttpMessageConverter(Charset.forName("UTF-8"));
}

@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    configurer.favorPathExtension(false);
}

注意:不要直接在swagger配置类直接继承WebMvcConfigurationSupport,不然会出现
No mapping for GET /swagger-ui.html的报错

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容