apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

今天在做项目的时候发现一直获取不到json数据,之前的项目是可以的,但是这个就是不行,查了很多资料也没有解决问题,最后一步一步排查发现是返回的对象必须要有set,get方法才行。。

apifox显示问题:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

写的test测试:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

结果一直不行,加上set和get方法后:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

但是问题解决了,我想知道为什么我都给你封装好了对象了你还要调用set,get方法才能转成json对象?又一步一步的测试。。

先把Result中的set方法去掉试试:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

看看能不能获得:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

发现有没有set结果不影响。。

再把get去掉看看:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

发现出了问题,data没了:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

那把get去掉,但是属性改为public呢?

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

再发送请求看看:

apifox或者网页显示不了json数据,apifox显示返回数据结构与接口定义不一致,返回的数据格式不是 JSON

data又有了。。

至此了解到,原来springmvc帮助我们把对象封装成json需要获取对象的属性才行,就算我们已经把对象的属性都注入了,它获取不到也不行,而具体实现的原理还是由各位读者区自行研究,我继续滚回去做项目了,花了我4个小时排查这个问题。。。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/04517543f5.html