iT邦幫忙

0

C# .WebAPI Tuple 回傳空白的問題

c#

近期將依些老程式轉移至微服務上,
因為原本程式使用了大量 out 語法,
為了能夠讓微服務的 API 回傳所以將回傳格式改為 Tuple 以便一次回傳多個不同類型的值,
正常來說應該是新增一個 ViewModel 來回傳,
不過因為趕時程所以用最小的改動來做,
微服務是以 .NetCore3.1 實作的,
回傳格式原本是以下面這格式回傳:

(List<model> lst, string str)

但是實際回傳至原本程式卻發現接收到的都是空白,
拜請估狗大神後,
發現 C# 7.0 這種 Tuple 語法糖的變數命名在編譯後並不會保留 lst、str 這些變數名稱,
導致在 API 回傳 Json 轉換時,
無法對應到變數名稱導致回傳空白。

解決方法為:
將原本括號寫法的 Tuple 再做一次轉換

(value1, value2).ToTuple()

接下來到接收端就可以以原本 item1、item2 的方式接收了。
不過還是建議都已定義好的 model 做為回傳格式會是較好的方式


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言