[ASP.NET Web API 2] 利用 WebApiProxy 產生 C# 代理程式

Web API 不像 Web Service 有 wsdl 描述檔,也不像 WCF 有 meta data,所以 VS IDE 沒有辦法透過Web Reference 產生 Proxy Class,手動敲打連接 API 的工程挺瑣碎的,可能會這樣而放棄好用、輕量的Web API 嗎,別擔心這已經有人實作了 WebApiProxy 這個套件可以讓我們增加產能
 

開發環境

  • VS 2017 15.8.4
  • WebApiProxy 1.3.6021.8370

步驟

開一個 Web API 專案


安裝套件

Install-Package WebApiProxy

在 WebApiConfig.cs,加入 config.RegisterProxyRoutes();

接著,運行網站,預設 proxy 的位置在 api/proxies

接下來,我新增一個Client 的測試專案

安裝以下套件 

Install-Package WebApiProxy.CSharp

完成後,專案目錄就多了 WebApiProxy

WebApiProxy.config:主要是設定服務來源,See the WebApiProxy Configuration File

WebApiProxy.generated.cs:Proxy class 的輸出位置

修正 end[oint 的路徑後,有兩種方式產生 Proxy class

手動執行 WebApiProxy-Generate-CSharp

每次建置自動產生 generateOnBuild="true"

WebApiProxy.generated.cs 裡面的內容就長出來了


寫段碼來試試,這樣一來 Client 端看起來就變得相當省時了

參考來源:

https://github.com/RestCode/WebApiProxy
 

範例下載:

https://github.com/yaochangyu/sample.dotblog/tree/master/WebAPI/Lab.GenProxyObject
 

 

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo