近期将依些老程式转移至微服务上,
因为原本程式使用了大量 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 做为回传格式会是较好的方式