本文主要是介绍服务器返回的Json出现了$ref,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这是因为返回的对象嵌入了另一个对象 , 但是实际后台业务中它们是不同的对象 . 这个时候可以关闭循环引用来解决这个问题.
package cn.com.baidu;import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.List;@Configuration
public class FastJsonConfig implements WebMvcConfigurer {@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();// 创建FastJsonConfig对象,并配置SerializerFeaturecom.alibaba.fastjson.support.config.FastJsonConfig fastJsonConfig = new com.alibaba.fastjson.support.config.FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteMapNullValue, // 输出值为null的字段SerializerFeature.DisableCircularReferenceDetect // 禁用循环引用检测// ... 其他你需要的特性);// 将FastJsonConfig设置到FastJsonHttpMessageConverter中fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);// 将配置好的converter添加到converters列表中converters.add(0, fastJsonHttpMessageConverter);}
}
这篇关于服务器返回的Json出现了$ref的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!