本篇內(nèi)容主要講解“如何快速了解API接口”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何快速了解API接口”吧!
橋東網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),橋東網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為橋東上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的橋東做網(wǎng)站的公司定做!
首先,我們先來(lái)看一看 API 接口的定義:
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件得以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
從定義中,我們先劃下重點(diǎn):函數(shù)、 提供應(yīng)用程序與開(kāi)發(fā)人員、無(wú)需訪問(wèn)源碼、例程。其中,例程是某個(gè)系統(tǒng)對(duì)外提供的功能接口或服務(wù)的集合。
看完這個(gè)定義是不是感覺(jué)自己看了個(gè)寂寞,這解釋跟不解釋沒(méi)有差別啊?好啦,不要擔(dān)心,小拍來(lái)給大家直接了當(dāng)?shù)恼f(shuō)一說(shuō)。
API 其實(shí)可以理解為是接收要求的信差,通過(guò) API 接口,我們告訴系統(tǒng)(例程)想要做什么,系統(tǒng)再把處理結(jié)果響應(yīng)回來(lái)。
如果用一個(gè)現(xiàn)實(shí)生活中的場(chǎng)景來(lái)舉例說(shuō)明,那么餐廳的服務(wù)員其實(shí)就是一個(gè)典型的 API 。想象一下你正坐在餐桌前,面前桌子上有一張點(diǎn)菜用的菜單,點(diǎn)好菜后,交由廚房進(jìn)行處理。但現(xiàn)在少了一個(gè)關(guān)鍵的鏈接點(diǎn),如何把我們的單子送到廚房,再把食物送到我的桌上呢?
這就是服務(wù)員(API)登場(chǎng)的時(shí)候了。服務(wù)員就是這個(gè)信差,他會(huì)傳遞你的要求或者餐點(diǎn),把這些信息告訴廚房(系統(tǒng)),廚房就會(huì)知道怎么做,然后把餐品通過(guò)服務(wù)員端(響應(yīng))給你。
現(xiàn)在我們把這個(gè)原理應(yīng)用到真正的 API 例子上來(lái)。
快遞單號(hào)查詢,這大家應(yīng)該很熟悉吧。朋友通過(guò)順豐寄了一箱零食給你,并告知你了快遞單號(hào),你就可以在順豐的官網(wǎng)上,輸入快遞單號(hào)進(jìn)行查詢。順豐的系統(tǒng)接收到查詢,就會(huì)在系統(tǒng)中查找對(duì)應(yīng)快遞的信息,響應(yīng)給你。
但是,很多時(shí)候我們并不是直接通過(guò)快遞公司的網(wǎng)站去查詢快遞信息的。比方說(shuō)通過(guò)淘寶買的衣服,賣家通過(guò)順豐發(fā)貨,但我們可以在淘寶上查詢到順豐快遞的信息。那么淘寶是怎么獲取到存放在順豐服務(wù)器上的快遞數(shù)據(jù)呢?
沒(méi)錯(cuò),這里就是使用了 API 。淘寶可以通過(guò)順豐提供的 API 接口,來(lái)獲取存放在順豐服務(wù)器上的快遞信息,最后顯示在我們面前。
現(xiàn)在再看上邊的定義,是不是感覺(jué)好理解一些了呢?API 接口就是預(yù)先定義好的函數(shù)邏輯,提供給其他系統(tǒng)請(qǐng)求,然后返回結(jié)果的一個(gè)東西。
在知道了 API 接口的作用后,使用 API 接口的原因也就一目了然了。舉個(gè)例子:你打算開(kāi)發(fā)一個(gè)打車軟件,需要在頁(yè)面上展現(xiàn)地圖,那你會(huì)怎么做呢?
如果說(shuō)自己來(lái)開(kāi)發(fā)地圖,開(kāi)發(fā)時(shí)間就會(huì)大大延長(zhǎng),成本也會(huì)增加許多。這個(gè)時(shí)候,其實(shí)可以在高德開(kāi)放平臺(tái)或者百度地圖的開(kāi)放平臺(tái),找到地圖 API,購(gòu)買他們的服務(wù),部署調(diào)用相關(guān)的 API ,這樣就可以快速在我們軟件中上線地圖功能了。
所以,對(duì)于軟件提供商來(lái)說(shuō),開(kāi)放 API 并讓別的應(yīng)用程序來(lái)調(diào)用,形成生態(tài),軟件才能發(fā)揮最大的價(jià)值,才能更有生命力,同時(shí)別人也看不見(jiàn)代碼,不會(huì)傷害商業(yè)機(jī)密。
對(duì)于應(yīng)用開(kāi)發(fā)者來(lái)說(shuō),有了開(kāi)放的 API ,就可以直接調(diào)用多家公司做好的功能來(lái)做自己的應(yīng)用,不需要所有的事情都自己操刀,節(jié)省精力。
現(xiàn)在市面上開(kāi)放的 API 接口,一般都是通過(guò) HTTP 請(qǐng)求調(diào)用的。例如,一些第三方提供的查詢天氣的功能,我們就可以根據(jù)第三方提供的 API 地址以及相關(guān)的說(shuō)明文檔,攜帶上請(qǐng)求參數(shù),在瀏覽器中直接訪問(wèn)使用。
接下來(lái),小拍以又拍云存儲(chǔ)上傳 API 為例,通過(guò) curl 工具來(lái)完成一個(gè)向云存儲(chǔ)上傳文件的操作。接下來(lái)會(huì)涉及到一些命令行工具以及代碼的操作,如果你對(duì) curl 這個(gè)工具不太熟悉的話,也可以參考小拍之前的文章《雙劍合璧-掌握 curl 和 Dig 走天涯》哦。
每個(gè) API 接口根據(jù)作用不同,需要傳遞的參數(shù)也是不盡相同的。因此,我們?cè)谑褂靡粋€(gè) API 接口之前,最好先看一下官方文檔的 API 說(shuō)明。
通過(guò)文檔介紹,我們可以看到如果需要請(qǐng)求云存儲(chǔ)的上傳接口,我們需要使用 PUT 的方式,向 http://v0.api.upyun.com 發(fā)起請(qǐng)求。其中存儲(chǔ)服務(wù)名和文件的保存路徑定義在請(qǐng)求地址中。并且需要攜帶 Authorization 鑒權(quán)請(qǐng)求頭,來(lái)確保 API 的調(diào)用是合法的。
Authorization 的生成,小拍使用最簡(jiǎn)單的基本認(rèn)證來(lái)進(jìn)行演示。
根據(jù)鑒權(quán)文檔介紹,curl 支持直接傳入操作員名和密碼來(lái)生成鑒權(quán)請(qǐng)求頭。
了解 API 接口調(diào)用的規(guī)則之后,我們就可以開(kāi)始準(zhǔn)備數(shù)據(jù),來(lái)向云存儲(chǔ)空間上傳文件啦。
例如,小拍的桌面上有一張圖片,小拍想把圖片上傳到自己云存儲(chǔ)空間下的 images 目錄下,保存名為 lufei.jpg。
小拍的云存儲(chǔ)空間名為 fileupload-upyun,操作員名為 hello,對(duì)應(yīng)的密碼為 dF4XhRbnpsvonU1dgdetURncHSwa2Z37,這樣,我們就有調(diào)用上傳 API 的必要參數(shù)了。
接下來(lái),我們就按照要求,組裝 curl 的請(qǐng)求命令。
curl -X PUT \ http://v0.api.upyun.com/fileupload-upyun/api/lufei.jpg \ -u hello:dF4XhRbnpsvonU1dgdetURncHSwa2Z37 \ -T C:\Users\hilih\Desktop\test.jpg
參數(shù)說(shuō)明:
-X 可以指定 curl 發(fā)起請(qǐng)求的方法
-u 對(duì)傳入的數(shù)據(jù)進(jìn)行 HTTP 基本認(rèn)證,也就是用戶和密碼組和的base64編碼
-T 可以使 curl 讀取指定路徑下的文件
這樣呢,我們就成功的調(diào)用了云存儲(chǔ)的上傳 API 接口,通過(guò)接口上傳了一張本地的圖片到存儲(chǔ)空間中。
不過(guò),使用 curl 發(fā)起 HTTP 請(qǐng)求,看上去總有一些麻煩,命令行也太反人類了吧,有沒(méi)有更加友好的界面呢?當(dāng)時(shí)啦,使用 curl 只是其中一種的上傳方法,我們還可以通過(guò)其它方式,來(lái)向云存儲(chǔ) API 發(fā)起 HTTP 請(qǐng)求。
例如二狗子的網(wǎng)站分享圖片,二狗子就對(duì)上傳的 API 做了處理,用網(wǎng)頁(yè)的形式對(duì)他的用戶提供了一個(gè)上傳的 API 接口。小拍也聯(lián)系了二狗子,請(qǐng)他提供了一個(gè)簡(jiǎn)單的測(cè)試用例。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>云存儲(chǔ)上傳</title> <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.20.0/axios.min.js"></script> </head> <body> 上傳服務(wù)空間:<input id='bucketname'> 操作員賬號(hào):<input id='username'> 操作員密碼:<input id='password'> 存儲(chǔ)路徑:<input id='path'> 文件選擇:<input id='fileupload' type='file' name='file' /><br><br> <button>上傳</button> <script type="text/javascript"> window.onload = function() { document.querySelector('button').onclick = ufload; } function ufload() { var bucket = document.querySelector('#bucketname').value; var username = document.querySelector('#username').value; var password = document.querySelector('#password').value; var path = document.querySelector('#path').value; var input = document.querySelector('#fileupload'); var file = input.files[0]; axios.defaults.baseURL = 'http://v0.api.upyun.com'; axios.put('/' + bucket + path, file, { auth: { username: username, password: password } }).then(function(response) { console.log(response.data); console.log(response.headers); console.log(response.status); if (response.status == 200) { alert('上傳成功'); } }) } </script> </body> </html>
到此,相信大家對(duì)“如何快速了解API接口”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享題目:如何快速了解API接口
網(wǎng)址分享:http://aaarwkj.com/article46/igjchg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、小程序開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司、電子商務(wù)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)