一.API 簡介
1.API 的概念
API(Application Programming Interface應用程序編程接口)是一些預約義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼或理解內部工做機制的細節web
2.API 的特色
- API 是一個明肯定義的接口,能夠爲其餘軟件提供特定服務
- API能夠小道只包含一個單獨的函數,亦能夠達到包含數以百計的類,方法,全局函數,數據類型,枚舉類型和常量
- API的實現能夠是私有的,亦能夠是開源的
3.API 的分類
- 面嚮對象語言的 API
- 庫與框架的 API
- API 與協議
- API 與設備接口
- Web API
4.使用 api 的緣由
- 快速擴展功能
- 避免"造輪子",提升開發效率
- 下降模塊之間的耦合度
二.api 的請求與認證
1.web api 協議及 http 請求
1.1 web api 通常採用 http 做爲底層協議,http 請求機制以下:
客戶端向服務器發送一個請求,服務器給客戶端一個響應,告訴客戶端是否能夠完成它的請求的工做編程
1.2 http 請求包含的內容
- 客戶端:url(api 請求地址),請求方式,headers(請求頭),body(請求體)
- headers請求頭:提供請求的元信息,是一個簡短的項目列表,其中有客戶端發送請求的時間和請求主體的大小,身份認證等信息
- body 請求體:包含客戶端發送給服務器的數據
2.api 請求方式
- get:請求服務器獲取一個資源
- post:請求服務器建立一個資源
- put:請求服務器更新或者編輯一個資源
- delete:請求服務器刪除一個資源
3.狀態返回碼
處理成功返回2xxjson
- 200 ok-get:服務器成功返回用戶請求的數據
- 201 created-post/put/patch:用戶建立或修改數據成功
- 202 accepted-* 表示一個請求已經進入後臺排隊(異步任務)
- 204 no content-delete 用戶刪除數據成功
服務端錯誤碼5xx後端
- 500 internal Error :api 網關內部錯誤,建議重試
- 500 Failed to invoke backend Service:api底層服務錯誤
- 503 service unavaliable:服務不可用
- 504 async service:後端服務超時
業務報錯4xx:通常爲參數錯誤,簽名錯誤,請求方式錯誤或者流控限制api
4.api 數據格式
5.api 身份認證及簽名認證
5.1簡單身份認證:appcode
使用方法:請求 headers 中添加 Authorization 字段,格式 Authorization:APPCODE+半角空格+appcode 值數組
5.2簽名認證:appkey&appsecret
三.api 調試及調用
1.api 調試
阿里雲 api 市場提供在線調試功能服務器
2.api 調用步驟
獲取 api 文檔--建立應用--獲取受權--調用 apiapp
3.調用 api
調用 api 三個基礎條件:框架
- api
- 應用 app
- api 和 app 的權限關係
4.api 調用注意事項
- 每一個帳號下 APP 的個數上限爲10個,app 名稱應用爲帳號下惟一
- 調用 api 的流控限制爲,單個 ip,qps 不超過100
- 你有權操做購買的 api 與 app 的受權和解除受權.由服務提供方受權給你的 app 的api,你無權操做解除受權
- 你的請求須要包含簽名信息
成果展現異步