昨天稍微看了一下範例程式碼是如何包裝API的input+output參數型別
今天就來繼續改造原本的code吧!
小小補充:
這邊回過頭來解釋一下在C#(物件導向程式語言)中,Model 的概念好了。看看微軟官方是怎麼說的:
「模型」 是代表您應用程式中資料的物件。 ASP.NET Web API 可以自動將您的模型序列化為 JSON、XML 或其他格式,然後將序列化資料寫入 HTTP 回應訊息的本文中。 只要用戶端可以讀取序列化格式,它就可以還原序列化物件。 大部分的用戶端都可以剖析 XML 或 JSON。 此外,用戶端可以藉由設定 HTTP 要求訊息中的 Accept 標頭,來指出所要的格式。
早期開發並沒有建立「模型」的概念,因此如果在沒有建立Model的情況下要串接這個永豐金流API,光要定義傳入跟傳出的參數可能就會把自己搞鼠吧!
自從能引用Model後並建立控制器(controller)範本後,我們就可以直接將函式回傳定義為IEnumerable<>類型,真的是福音!
(os:最近寫ASP.NET沒有model真的很想哭阿...)
那麼,原先的方法:
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!