刚好手里停下来,想自己搞一个延迟队列的工程玩玩,在搭建的时候,使用到了swagger网页测试接口页面,可是在使用
版本为2.3.0的时候页面并不是那么喜欢,因为自己一直用的是2.8的版本。发现加完之后访问http://localhost:8014/swagger-ui.html#/会报异常,找了一很多资料才发现要加这个类,如果是低版本的没有问题
我的pom文件为:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
代码如下:
@Configuration
public class WebApiConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
// 消息转换器,利用fastjson替换掉jackson
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.QuoteFieldNames,
SerializerFeature.WriteEnumUsingToString,
SerializerFeature.WriteMapNullValue,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.DisableCircularReferenceDetect);
fastJsonConfig.setSerializeFilters((ValueFilter) (o, s, source) -> {
// 将value值为NULL的转换成空字符串,解决响应对象值为NULL的字段不显示问题
if (source == null) {
return "";
}
// if (source instanceof Date) {
// return ((Date) source).getTime();
// }
return source;
});
fastConverter.setFastJsonConfig(fastJsonConfig);
//处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
converters.add(fastConverter);
super.configureMessageConverters(converters);
}
}
pom文件为(部分):
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
版权声明:本文为qq_33278354原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。