簡介

對于.net來說,用web api來構(gòu)建服務(wù)是一個不錯的選擇,都是http請求,調(diào)用簡單,但是如果真的要在程序中調(diào)用,則還有些工作要做,比如我們需要手寫httpClient調(diào)用,并映射Model, 如果服務(wù)少還可以,多了就繁瑣了。

Swagger

關(guān)于Swagger的信息,其他博客已經(jīng)有介紹,這里就不多說。 大家可以參考http://chuansong.me/n/322685748559 ,使用Swagger后,可以解決服務(wù)沒有文檔或者文檔和服務(wù)不同步的問題,同時Swagger自帶的就有模擬請求的功能,所以可以在頁面上直接測試接口。 這些不僅對開發(fā),對測試同學(xué)也是友好的。 

下面是一個簡單的Web API,添加注釋

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

 電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

引用swagger后,訪問http://XXX/swagger/ui/index(XXX為你的域名),結(jié)果如下,可以看到頁面上會顯示你的服務(wù),以及服務(wù)的描述。

 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

 點擊具體某個服務(wù),你可以看到你定義的參數(shù),并可以直接在頁面上發(fā)起測試。 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

AutoRest

有了Swagger后,方便查看服務(wù),接下來就是如何調(diào)用服務(wù),過往我們通常會寫一個HttpUtils的類,里面包含SendGet,SendPost兩個方法,如果是簡單參數(shù)還好,但是如果Get請求返回一個對象,或者Post的時候需要發(fā)送一個對象,則需要手寫這些類進(jìn)行封裝。 這里介紹一個組件:AutoRest (https://github.com/Azure/AutoRest), 簡單來說,就是一個EXE工具,可以根據(jù)Swagger的結(jié)構(gòu)生成服務(wù)的客戶端,這個客戶端可以讓你像調(diào)用本地方法一樣調(diào)用服務(wù),方法內(nèi)部包裝了Http請求。 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

在Swagger頁面,你可以點擊Explore按鈕,通過瀏覽器可以看到這里返回了一個Json字符串,頁面也是根據(jù)這個字符串進(jìn)行的渲染,AutoRest也是根據(jù)這個結(jié)構(gòu)來生成調(diào)用類。

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

 電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

網(wǎng)友評論