Object 与 T的差别 导致swagger 的model 显示的数据为空

时间:2022-06-13 11:31:09

情景复现:

在整合swagger的时候,自己对原本定于的Object的data做了修改,把Object修改为了T,data的set方法的返回类型由于编译器没有报错,就没有去做修改,

这个时候就导致了,项目跑起来,访问swagger-ui的时候出现data一直为Object的情况。而自己接口的数据结构无法展现给前台。而这个问题就是

由于 T 和 Object 的差异性引起的。

(因为自己是新引入swagger的菜鸟,而且自己对T和Object了解不够深入。一直以为自己swagger配置出问题了,排查了很久。)

解决方式:

将data的set方法的返回类型从Object修改为T。

扩展学习:

Object 与 T的差异:

Object范围非常广,而T从一开始就会限定这个类型(包括它可以限定类型为Object)。

Object 是所有类的父类,所以需要强制类型转换。

而T从一开始在编码时(注意是在写代码时)就限定了某种具体类型,所以它不用强制类型转换。

而我对data进行传入的时候,返回类型是Object,这个时候返回给swagger-ui的data数据中就是Object了。

参考博客:https://www.cnblogs.com/yulinfeng/p/6056038.html