API(Application Programming Interface)html
應用程序編程接口是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一次例程的能力,而又無需訪問源碼或理解內部工做機制的細節。web
面嚮對象語言的 API編程
例:Java API 列表json
庫與框架的 API後端
例:Windows API、Windows DirectXapi
API 與協議數組
例:LDAP 應用程序接口服務器
API 與設備接口app
例:PC BIOS 調用接口、ASPI for SCSI 設備接口框架
Web API
例:Google 地圖 API、新浪微博 API、阿里雲 API 市場
好處:客戶端與服務端的開發語言無關,利於微服務和分佈式的開發。
URL(API調用地址)、請求方式、Headers(請求頭)、Body(請求主體)
Headers(請求頭)
提供了請求的元信息,是一個簡單的項目列表,其中有客戶端發送請求的時間和請求主體的大小、身份認證等信息。
Body(請求主體)
包含了客戶端但願發送給服務器的數據。
常見的主要有四種:
HTTP 狀態碼 | 含義 |
---|---|
200 OK - [GET] | 服務器成功返回用戶請求的數據 |
204 NO CONNTENT - [DELETE] | 用戶數據刪除成功 |
... | ... |
未調用成功,會返回 5xx 表示服務不可用;
例如:500 API 網關內部錯誤/底層服務錯誤;503 服務不可用,504 後端服務超時。
json 格式(多采用)
表示對象,鍵值對類型
{"name":"a","age":20}
表示數組,採用方括號
以下:
{ "code":2000, "data":[ { "name":"a", "age":19 }, { "name":"b", "age":20 } ] }
<?xml version="1.0" encoding="utf-8" ?> <country> <name>中國</name> <province> <name>河南</name> </province> <province> <name>廣州</name> </province> </country>
再阿里雲中,有兩種認證方式
簡單認證,基於 APPCODE 方式
若是 APPCODE 獲取 API 訪問權限
例子:
Authorization:APPCODE 123456789ABC
簽名認證方式,AppKey & AppSecret
AppKey 和 AppSecret 至關於當前帳戶的另一套帳號和密碼機制,再控制檯找到對於的 AppKey 和 AppSecret
具體使用方式在調用時會有官網介紹。
阿里雲 api 市場提供在線調試功能
獲取 api 文檔--建立應用--獲取受權--調用 api
調用 api 三個基礎條件: