api是什么 api接口是干嘛的
2022-06-28 09:59:15 閱讀(274)
對(duì)于很多產(chǎn)品小白或求職者而言,API接口是一個(gè)產(chǎn)品和研發(fā)領(lǐng)域的專(zhuān)業(yè)術(shù)語(yǔ),可能很多人平時(shí)接觸的很少,下面萬(wàn)商云集小編給大家來(lái)詳細(xì)介紹一下api是什么 api接口是干嘛的這一塊的內(nèi)容,希望能幫助到大家。
本文目錄:
API接口是什么?
為什么我們需要API接口?
API接口的核心
一、API接口是什么?
我們來(lái)以一個(gè)常見(jiàn)的數(shù)學(xué)公式理解API,比如y=x+2,當(dāng)x=2的時(shí)候,y=4,對(duì)么?
那此時(shí),我們把y=x+2稱(chēng)為接口,x=2稱(chēng)為參數(shù),y=4稱(chēng)為返回結(jié)果,那這個(gè)接口的功能就是能把我們輸入的數(shù)加上2(注意:這里你可以發(fā)現(xiàn)接口自身是帶有邏輯的)。
類(lèi)比地,我們來(lái)理解一個(gè)常見(jiàn)的場(chǎng)景,比如現(xiàn)在有一個(gè)可以把經(jīng)緯度轉(zhuǎn)化為城市的接口,那當(dāng)我輸入經(jīng)度是55°,緯度是88°的時(shí)候,接口通過(guò)自己的邏輯運(yùn)算,返回結(jié)果告訴我:杭州市。
這樣你就可以清晰地了解百度百科的官方解釋了,接口就是預(yù)先定義的函數(shù)邏輯,他是供其他系統(tǒng)請(qǐng)求,然后返回結(jié)果的一個(gè)東西。
二、為什么我們需要API接口?
背景:我們的業(yè)務(wù)系統(tǒng)涉及多方多面,如果要一個(gè)公司或者一個(gè)系統(tǒng)把所有業(yè)務(wù)都做完,那未免工作量太大了吧?并且如果其他系統(tǒng)或公司有更好的運(yùn)算邏輯,那我們?cè)谠O(shè)計(jì)功能的時(shí)候可以考慮利用接口進(jìn)行開(kāi)發(fā)。
核心需求:利用現(xiàn)有接口可以降低開(kāi)發(fā)成本,縮短開(kāi)發(fā)成本。
舉個(gè)例子:比如我是打車(chē)的APP,現(xiàn)在我需要在我的頁(yè)面上展現(xiàn)地圖的功能,對(duì)于我司而言,新做地圖功能未免成本過(guò)高,那我們可以在高德開(kāi)放平臺(tái)或者百度地圖的開(kāi)放平臺(tái),找到地圖API,這樣的話我們只需要購(gòu)買(mǎi)高德的服務(wù),部署調(diào)用高德地圖API,這樣就可以快速在我們頁(yè)面上線地圖功能了。
三、API接口的核心
對(duì)于小白而言,初看API文檔可能是一頭霧水的——從哪里看,怎么看,看什么是擺在面前的問(wèn)題。
其實(shí)對(duì)于產(chǎn)品經(jīng)理而言,我們應(yīng)該更關(guān)注這個(gè)公司可以提供什么樣的API接口服務(wù),比如我知道高德可以提供地圖API,規(guī)劃路線的API,這樣的話在我們?cè)O(shè)計(jì)功能和工作中就可以想到調(diào)用他們的服務(wù)或者參考。
所以產(chǎn)品小白們看不懂也不用過(guò)于擔(dān)心,未來(lái)工作中你也會(huì)更深入了解清楚,因?yàn)榭炊⒉粡?fù)雜,以下是API接口的核心點(diǎn),所有的說(shuō)明文檔離不開(kāi)這5個(gè)核心點(diǎn)。
以下說(shuō)明均以微信開(kāi)放平臺(tái)為例說(shuō)明,文末有各開(kāi)放平臺(tái)的地址,大家有空可以去學(xué)習(xí)。好了,事不宜遲,現(xiàn)在我們來(lái)建立一個(gè)場(chǎng)景。
我們現(xiàn)在有一個(gè)APP,需要用戶(hù)在購(gòu)買(mǎi)的時(shí)候調(diào)起微信支付的API,完成購(gòu)買(mǎi)。請(qǐng)各位自動(dòng)進(jìn)入這個(gè)場(chǎng)景,把自己當(dāng)作一位產(chǎn)品經(jīng)理。
1. 接口地址
現(xiàn)在Now,用戶(hù)點(diǎn)擊付款,我們需要告訴微信,我們要調(diào)起你們的收銀臺(tái)啦!但,去哪里告訴呢?這就需要接口地址了,也就相當(dāng)于向微信的這條鏈接傳輸指定的數(shù)據(jù)。
一個(gè)鏈接地址不是我們理解的一個(gè)頁(yè)面,你可以理解是一個(gè)電話號(hào)碼,小白們要改變這個(gè)觀念。
此時(shí)我們可以看到接口文檔告訴我們鏈接是如下這條,那我們現(xiàn)在已經(jīng)撥通微信的電話了。
2. 請(qǐng)求參數(shù)(報(bào)文)
我們現(xiàn)在需要告訴微信,你想調(diào)用收銀臺(tái)對(duì)吧。那我們需要寫(xiě)下來(lái),此時(shí)生成的叫做報(bào)文,也就是你想告訴這個(gè)接口的內(nèi)容是什么?相當(dāng)于前文函數(shù)的輸入x=2。
一般來(lái)說(shuō),報(bào)文的格式和內(nèi)容都是按接口文檔規(guī)定的。如下文就是微信開(kāi)放平臺(tái)對(duì)調(diào)起收銀臺(tái)的報(bào)文要求。
我們先來(lái)看前2個(gè)參數(shù),你現(xiàn)在跟微信在對(duì)話,是不是應(yīng)該先告訴微信,你是誰(shuí)?這里微信的文檔告訴你應(yīng)該要用應(yīng)用ID+商戶(hù)號(hào)來(lái)確定你的身份,什么意思呢?
比如你是A商戶(hù),下面有a,b,c三個(gè)APP,所以微信要知道你是哪個(gè)商家,下面的哪個(gè)APP要用收銀臺(tái)。這是非常重要的,微信后面要把收到的錢(qián)打到對(duì)應(yīng)的賬戶(hù)以及統(tǒng)計(jì)數(shù)據(jù)等。
那我們就在報(bào)文里面寫(xiě)下這兩句話:
wx2421b1c4370ec43b(我的應(yīng)用ID是wx2421…….)
10000100(我的商戶(hù)號(hào)是10000…….)
好了,現(xiàn)在微信知道你是誰(shuí)了,那你要告訴微信,你需要微信支付幫你收多少錢(qián)對(duì)吧?這里定義了貨幣類(lèi)型和總金額,也就是收什么貨幣,收多少錢(qián)。
這里你看,貨幣類(lèi)型的必填寫(xiě)了否,也就是說(shuō)你也可以不告訴微信支付貨幣類(lèi)型是什么,因?yàn)樗诤竺鎮(zhèn)渥⒘四J(rèn)是人民幣。
好的,那我們寫(xiě)下兩段報(bào)文
CNY(我要收人民幣)
1(我要收1元)
好了,現(xiàn)在微信知道你是誰(shuí),也知道要收多少錢(qián)了,那接下來(lái)微信支付要把收錢(qián)結(jié)果告訴你呀,因?yàn)槟愕弥烙脩?hù)是成功支付了才能繼續(xù)發(fā)貨,服務(wù)啊等等的。所以這里我們用到通知地址,就是告訴微信,等下完事了他去哪里告訴你支付結(jié)果。那我們把地址寫(xiě)好:
http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php
3. 返回結(jié)果
剛剛微信支付已經(jīng)去收款了,現(xiàn)在他要在我們留下的通知地址中,告訴我們結(jié)果了。結(jié)果無(wú)非是兩種:成功收款?收款不成功?
(1)成功
很順利,現(xiàn)在用戶(hù)成功付錢(qián)了,并且微信也把成功的消息告訴我們了,并且他還把用戶(hù)支付的一些信息也告訴我們。
那這里就是微信支付成功收款后告訴我們的信息。
應(yīng)用APPID,商戶(hù)號(hào):告訴你我成功扣款的是哪家商戶(hù)的哪個(gè)APPID的交易。
業(yè)務(wù)結(jié)果:成功或失敗
(2)失敗
在產(chǎn)品設(shè)計(jì)的時(shí)候,我們往往很關(guān)注失敗的情況,當(dāng)收款失敗的時(shí)候,微信同時(shí)會(huì)告訴你失敗的原因,如下圖很好理解,失敗的原因有很多很多種,我們?cè)谠O(shè)計(jì)的時(shí)候往往要分析每種失敗的原因,為每個(gè)失敗的原因設(shè)計(jì)頁(yè)面和用戶(hù)提示,以確保用戶(hù)能理解。
以上就是api是什么 api接口是干嘛的的全部?jī)?nèi)容,希望上面的內(nèi)容能幫助到大家理解到API這個(gè)技術(shù)知識(shí),更多關(guān)于API的相關(guān)內(nèi)容請(qǐng)關(guān)注萬(wàn)商云集。
- 本文關(guān)鍵詞:
- 電腦硬件