iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0

昨天稍微看了一下範例程式碼是如何包裝API的input+output參數型別
今天就來繼續改造原本的code吧!


小小補充:

這邊回過頭來解釋一下在C#(物件導向程式語言)中,Model 的概念好了。看看微軟官方是怎麼說的:

「模型」 是代表您應用程式中資料的物件。 ASP.NET Web API 可以自動將您的模型序列化為 JSON、XML 或其他格式,然後將序列化資料寫入 HTTP 回應訊息的本文中。 只要用戶端可以讀取序列化格式,它就可以還原序列化物件。 大部分的用戶端都可以剖析 XML 或 JSON。 此外,用戶端可以藉由設定 HTTP 要求訊息中的 Accept 標頭,來指出所要的格式。

早期開發並沒有建立「模型」的概念,因此如果在沒有建立Model的情況下要串接這個永豐金流API,光要定義傳入跟傳出的參數可能就會把自己搞鼠吧!/images/emoticon/emoticon16.gif
自從能引用Model後並建立控制器(controller)範本後,我們就可以直接將函式回傳定義為IEnumerable<>類型,真的是福音!
(os:最近寫ASP.NET沒有model真的很想哭阿...)


回頭來看API

那麼,原先的方法:

public async Task<BaseResponseModel> OrderCreateAsync(OrderCreateRequestModel request)

就能再更彈性的指定要使用哪個APIService(Enum)了~

public async Task<TResult> OrderCreateAsync<TReq, TResult>(TReq request, APIService apiService) where TReq : BaseRequestModel

希望讀者看了能有收穫
See you tomorrow!


上一篇
[Day12] 為了擺脫菜鳥C#後端 -到底什麼是Delegate?Func<T, TResult>?
下一篇
[Day14] 輕鬆掌握訂單&付款狀態(說明)
系列文
菜鳥工程師想用C#做出金流微服務是否搞錯了什麼?15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言