iT邦幫忙

0

return前有的欄位,到頁面印出來結構卻不對

各位前輩大家好
小弟在撰寫API的時候有一個問題
就是在return一個List前原有的結構,到頁面顯示的時候卻不見了

確定有撈到欄位(有特別看set的中斷點,都有正常set)
https://ithelp.ithome.com.tw/upload/images/20211130/20133090eaJ1ZER203.png

return Json(要丟回去的東西)
顯示出來欄位直接消失
https://ithelp.ithome.com.tw/upload/images/20211130/20133090IfDMdgyez5.png

return程式碼
https://ithelp.ithome.com.tw/upload/images/20211130/20133090E0nIRYWBHU.png

現在的猜測是interface繼承的時候出問題,不過最後撈出都有欄位
但只要更改List<類別>的話,output的結構就會改變
不過仍然無法依照所撈出的欄位全部return

最讓我疑惑的是
將interface取消繼承後,額外開類別並給予屬性
return前的結構跟第一張圖一樣,在瀏覽器顯示卻正常,撈出來的欄位都有

小弟資歷尚淺描述得如果不構明確還請各位大大指點一二
如果有需要補充的地方也請不吝提出

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2021-11-30 20:46:25 檢舉
getContents有明確的型別嗎?methods.GetArticleContents()回傳的型別是?
To fillano
getContents沒有明確的型別,會使用object是因為會存許多不同結構的物件
methods.GetArticleContents()回傳的型別為object
但實際上都可以用list當作型別
powerc iT邦新手 4 級 ‧ 2021-12-01 09:30:00 檢舉
存取範圍? public、private?
fillano iT邦超人 1 級 ‧ 2021-12-01 09:35:51 檢舉
List是一個介面。另外,相關的類別實做也不算是可以判斷細節的型別,應該算是一個容器,裡面個別的item才是型別。

如果能把object getContents改成List<類別> getContents,那丟給Json()轉成json應該比較不會出問題。畢竟所有的類別都繼承object,恐怕Json()也盡力了。
To powerc
存取範圍有確定過,後來發現確實是我的方法無法接回值
To fillano
真的非常感謝,昨天經過提點之後有針對這些細節做調整
最後是我呼叫api的方法回傳值定義不對,修正之後已經如預期動作
十分感謝

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-12-01 00:07:58
最佳解答

寫程式把 getContents 顯示出來,有兩種情形:
1.有 6 個欄位
那就是 Json() 的問題
2.只有 4 個欄位
那就是 GetArticleContents() 的問題

To 海綿寶寶
這兩句話實在有說到問題點,修正之後已經如預期動作
謝謝!

如果問題解決
就選最佳解答結案

我要發表回答

立即登入回答