實現 API 調用接口

實現 API 調用接口

API 簡介

API 的概念

API(Application Programming Interface)html

應用程序編程接口是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一次例程的能力,而又無需訪問源碼或理解內部工做機制的細節。web

API 的特色

  • 一個明肯定義的接口,能夠爲其餘軟件提供特定服務。
  • 能夠小到只包含一個單獨的函數,也能夠大到包含數以百計的類、方法、全局函數、數據類型、枚舉類型和常量等。
  • 能夠小到只包含一個單獨的函數,也能夠大到包含數以百計的類、方法、全局函數、數據類型、枚舉類型和常量等。
  • API 的實現是私有的,也能夠是開源的。

API 的分類

  • 面嚮對象語言的 API編程

    例:Java API 列表json

  • 庫與框架的 API後端

    例:Windows API、Windows DirectXapi

  • API 與協議數組

    例:LDAP 應用程序接口服務器

  • API 與設備接口app

    例:PC BIOS 調用接口、ASPI for SCSI 設備接口框架

  • Web API

    例:Google 地圖 API、新浪微博 API、阿里雲 API 市場

爲何要使用 API

  • 快速擴展功能
  • 避免「造輪子」,提升開發效率
  • 下降模塊之間的耦合度

API的請求與認證

Web API 協議及 HTTP 請求

好處:客戶端與服務端的開發語言無關,利於微服務和分佈式的開發。

  • 客戶端向服務器發送一個請求
  • 服務器給客戶端一個響應,告訴客戶端是否能夠完成它請求的工做

HTTP請求包含的內容

URL(API調用地址)、請求方式、Headers(請求頭)、Body(請求主體)

  • Headers(請求頭)

    提供了請求的元信息,是一個簡單的項目列表,其中有客戶端發送請求的時間和請求主體的大小、身份認證等信息。

  • Body(請求主體)

    包含了客戶端但願發送給服務器的數據。

API 請求方式

常見的主要有四種:

  • GET 請求服務器獲取一個資源
  • POST 請求服務器建立一個新的資源
  • PUT 請求服務器編輯或更新一個已存在的資源
  • DELETE 請求服務器刪除一個資源

返回狀態碼

  • 成功調用 API 後會有返回一個狀體碼,例如成功返回 2xx;
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 格式
<?xml version="1.0" encoding="utf-8" ?>
<country>
    <name>中國</name>
    <province>
        <name>河南</name>
    </province>
    <province>
        <name>廣州</name>
    </province>
</country>

API 身份認證及簽名認證

  • API 有不一樣的認證方式

再阿里雲中,有兩種認證方式

  • 簡單認證,基於 APPCODE 方式

    若是 APPCODE 獲取 API 訪問權限

    • 請求頭 Header 添加 Authorization 字段;
    • 配置 Authorization 字段的值爲 「APPCODE + 半角空格 + APPCODE 值」

    例子:

    Authorization:APPCODE 123456789ABC
  • 簽名認證方式,AppKey & AppSecret

    AppKey 和 AppSecret 至關於當前帳戶的另一套帳號和密碼機制,再控制檯找到對於的 AppKey 和 AppSecret

    具體使用方式在調用時會有官網介紹。

API 調試和調用(阿里雲)

API 調試

阿里雲 api 市場提供在線調試功能

API 調用步驟

獲取 api 文檔--建立應用--獲取受權--調用 api

調用 API

調用 api 三個基礎條件:

  • api
  • 應用 app
  • api 和 app 的權限關係

API 調用注意事項

  • 每一個帳號下 APP 的個數上限爲10個,app 名稱應用爲帳號下惟一
  • 調用 api 的流控限制爲,單個 ip,qps 不超過100
  • 用戶有權操做購買的 api 與 app 的受權和解除受權.由服務提供方受權給你的 app 的api,用戶無權操做解除受權
  • 請求須要包含簽名信息
相關文章
相關標籤/搜索