【財政部查詢類電子發票API】框架解說 C#
小弟之前有分享過串接【財政部查詢類電子發票API】小框架使用文 使用文連結 快速使用財政部電子發票API 使用 C# 串接文件下載 電子發票查詢API 1.4.4 程式原始碼連結 這次想跟大家分享我做出此框架的歷程.. 框架目的:希望可以做出方便日後維護擴展的API。 串接API時發現他們有幾個共同之處 API請求參數名稱需降冪排列 請求參數最後會加上簽章 都有時間戳記 回應資料格式都是Json 都是使用Http (Get or Post) 我就想到可以使用 工廠模式來實作這系列產品 (工廠模式主要是切割產品的使用和生產) (一) 產品解說 因為他們都有共同的能力**傳入一組參數回傳一串Json ** 我就先寫出一個API共同的介面簽章 IApiRunner 這個介面為基礎來撰寫後面的程式碼 /// <summary> /// 執行api的介面 /// </summary> public interface IApiRunner { /// <summary> /// 執行api /// </summary> /// <param name="model">傳入的參數</param> /// <returns>回傳資料</returns> string ExcuteApi (object model) ; } 我在中間多一個抽象泛型類別 ApiBase (用泛型是為了給子類決定傳入參數的Model) 原因: 中間使用泛型抽象類別讓子類決定要傳入哪組參數 可以將一些共通的方法寫在裡面 子類別只需要知道要提供哪些動作,所以在ApiBase中提供兩個方法來override 請求URL 目前預設讀取Config (GetApiURL) 參數的組合 (SetParamter) /// <summary> /// 子類繼承提供參數 /// </summary...