簡(jiǎn)介

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

Swagger

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

下面是一個(gè)簡(jiǎn)單的Web API,添加注釋

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

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

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

 

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

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

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

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

AutoRest

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

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

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

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

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

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

網(wǎng)友評(píng)論