情景復現:
在整合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了。