注:以我遇到的情況,只要發出的請求參數是map格式的,都會在前后多加一個雙引號
以下代碼有兩個功能:1.FastJson 替換 Spring 自帶的 Jackson 2.解決返回的字符串帶雙引號問題
@Configuration public class WebConfig { @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { // 1.定義一個converters轉換消息的對象 FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverterExtension(); // 2.添加fastjson的配置信息,比如: 是否需要格式化返回的json數據 FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); // 3.在converter中添加配置信息 fastConverter.setFastJsonConfig(fastJsonConfig); // 4.將converter賦值給HttpMessageConverter HttpMessageConverter<?> converter = fastConverter; // 5.返回HttpMessageConverters對象 return new HttpMessageConverters(converter); } public class FastJsonHttpMessageConverterExtension extends FastJsonHttpMessageConverter { FastJsonHttpMessageConverterExtension() { List<MediaType> mediaTypes = new ArrayList<>(); mediaTypes.add(MediaType.valueOf(MediaType.TEXT_HTML_VALUE + ";charset=UTF-8")); mediaTypes.add(MediaType.valueOf(MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8")); setSupportedMediaTypes(mediaTypes); } } }