一剿另、什么是接口
API接口:一些預(yù)先定義的函數(shù)怎抛,目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼渠概,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
系統(tǒng)對外發(fā)布的API地址:包含了IP礁凡、端口高氮、API名稱等信息。
數(shù)據(jù)傳輸規(guī)范:SKU只支持9位長度的字符串?dāng)?shù)據(jù)顷牌,庫存只支持16位長度的數(shù)字剪芍,如果傳參格式不對,那么就會啟動(dòng)反饋機(jī)制窟蓝。
反饋機(jī)制:接口中的返回參數(shù)罪裹,為了保證對方能夠正常獲取所有的數(shù)據(jù),不至于因?yàn)閿?shù)據(jù)異常之類的原因?qū)е聰?shù)據(jù)丟失运挫,在發(fā)現(xiàn)異常的時(shí)候状共,需要告知對方發(fā)生了什么異常,為什么無法獲取到這個(gè)數(shù)據(jù)谁帕,對方就會根據(jù)這個(gè)反饋?zhàn)龀鱿鄳?yīng)的調(diào)整峡继,或者重新發(fā)起請求、或者放棄這種數(shù)據(jù)匈挖。
聯(lián)調(diào):兩個(gè)開發(fā)者之間對著接口是否調(diào)用成功碾牌,數(shù)據(jù)能否正常獲取康愤。
二、接口類型有多少種
1. 根據(jù)響應(yīng)的機(jī)制可以分為同步舶吗、異步接口:
同步接口:A系統(tǒng)請求B接口之后征冷,不需要等待源系統(tǒng)返回結(jié)果就可以進(jìn)行下一步操作。
異步接口:A系統(tǒng)請求B接口之后誓琼,需要等待源系統(tǒng)返回結(jié)果就可以進(jìn)行下一步操作检激。
2. 根據(jù)接口的觸發(fā)形式可以分為分發(fā)、訂閱接口
分發(fā)接口:A系統(tǒng)產(chǎn)生新數(shù)據(jù)的時(shí)候就分發(fā)給B系統(tǒng)(也可以是多個(gè))腹侣。
例如:電商網(wǎng)站后臺的客戶管理系統(tǒng)叔收,在產(chǎn)生了一個(gè)新的黑名單客戶的時(shí)候,就會將數(shù)據(jù)分發(fā)到訂單筐带、推薦等等各個(gè)系統(tǒng)今穿,以便及時(shí)攔截這部分客戶的訂單。
訂閱接口:B系統(tǒng)在需要的時(shí)候調(diào)用A系統(tǒng)的接口進(jìn)行數(shù)據(jù)訂閱伦籍。
三蓝晒、一般接口包含以下幾個(gè)內(nèi)容:
接口地址
請求方法
請求參數(shù)
返回內(nèi)容
錯(cuò)誤代碼
1)接口地址
顧名思義就是接口的地址,以網(wǎng)址的形式展現(xiàn)帖鸦,你通過發(fā)送請求給這個(gè)網(wǎng)址來對接口進(jìn)行交互操作芝薇。
2)請求方法
http傳輸形式最基本的方法有4種,分別是GET作儿,POST洛二,PUT,DELETE攻锰。我們可以這樣認(rèn)為:一個(gè)URL地址晾嘶,它用于描述一個(gè)網(wǎng)絡(luò)上的資源,而HTTP中的GET娶吞,POST垒迂,PUT,DELETE就對應(yīng)著對這個(gè)資源的查妒蛇,改机断,增,刪4個(gè)操作绣夺。
而POST多余用對資源進(jìn)行修改的操作吏奸。比如一般的天氣查詢,賬號金額查詢都以GET形式傳輸陶耍,比如登陸信息的傳輸就會用到POST奋蔚。
以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連烈钞,如果數(shù)據(jù)是英文字母/數(shù)字旺拉,原樣發(fā)送产上,如果是空格棵磷,轉(zhuǎn)換為+蛾狗,如果是中文/其他字符,則直接把字符串用BASE64加密仪媒,
得出如:%E4%BD%A0%E5%A5%BD沉桌,其中%XX中的XX為該符號以16進(jìn)制表示的ASCII。而POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中算吩。
請求參數(shù)
即傳輸參數(shù)的時(shí)候要帶的一些參數(shù)留凭,一般文檔中會用表格的形式清晰的說明。當(dāng)我向接口發(fā)送攜帶請求參數(shù)的請求時(shí)偎巢,都要攜帶什么字段蔼夜,規(guī)則是什么。如下圖:
返回內(nèi)容
返回內(nèi)容一般會以json或是XML的形式返回压昼。