日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

譯者:DevOps亮哥

審校:DevOps亮哥

API一詞相信每一個開發人員都不陌生,API是軟件系統之間或不同組成部分之間進行連接的約定。特別是移動應用程序和微服務架構的不斷普及,API就是他們成功背后的功臣,這個時候如何設計和開發API就顯得格外重要,今天這篇文章就是一份完整的API開發指南,介紹了在開發API過程中的內容、工具和最佳實踐。請留好收藏,還可以轉發給其他的朋友。

一、API介紹

API,它的全稱是Application Programming Interface——應用程序編程接口,是一組指令、標準或要求,使軟件或應用程序可以利用另一應用程序、平臺或設備的功能/服務來獲得更好的服務。簡而言之,它可以讓應用程序彼此通信。例如,當我們在使用支付寶、微信APP時,都會通過API請求后臺服務器上的數據,在APP上進行展示。

API是處理數據或啟動兩個產品或服務之間的通信的所有應用程序的基礎。它使移動應用程序或平臺能夠與其他應用程序或平臺共享其數據,并在不涉及開發人員的情況下簡化用戶體驗。最重要的是,API消除了從頭開始構建類似程序或平臺的需求。您可以使用其他一些應用程序/平臺中的現有應用程序。基于這些原因,應用程序開發人員和業務主管都將重點放在API開發上。

在深入研究之前,先讓我們看一下使您更容易理解該概念的基本術語。

二、API術語

  1. API Key:當一個API請求通過Header或參數來識別調用者時,傳遞到請求中的授權碼就是API Key。
  2. Endpoint:當一個API與另一個系統交互時,通信通道的兩端被認為是Endpoint。
  3. JSON:是用于API請求參數和響應主體的數據格式。
  4. GET:RESTful API的HTTP方法,用于獲取資源。
  5. POST:RESTful API的HTTP方法,用于創建資源。
  6. OAuth:它基本上是一個開放標準的授權框架,可以在不直接共享憑據的情況下從客戶端進行訪問。
  7. REST:REST(代表性狀態轉移)是一種編程體系結構的實現,用于提供兩個設備/系統之間的通信效率。它是一個輕量級的,他是通過數據引用而不是數據副本的方式來共享數據,基于這個架構創建的系統稱為“RESTful”系統,而RESTful系統中最著名的例子就是萬維網。
  8. SOAP:SOAP或簡單對象訪問協議是一種消息協議,用于在計算機網絡中執行Web服務時共享結構化信息。它與XML信息集和應用程序層協議(如HTTP和SMTP)一起使用,分別用于消息格式和消息協商與傳輸。
  9. 延遲:延遲定義為API從請求到響應的過程中所花費的總時間。
  10. 速率限制:API速率限制是指定義最終用戶可以訪問API的速率的過程。也就是說限制用戶每次可以向API發送的請求數。
  11. API限流:調節用戶在特定時間段內使用API的過程稱為限流。這可以用于API限制,比如,設置每天限制1000個API請求,當用戶點擊1001個請求時,服務器會返回429的HTTP狀態碼,并帶著“請求太多”的消息。

三、API的工作流程

假如打開一些旅游應用程序/網站來預訂航班,再填寫了表格——輸入了出發和返回日期,城市,航班以及其他相關詳細信息——并提交了。只需幾秒鐘,屏幕上就會顯示航班清單以及價格,時間,座位可用性以及其他詳細信息。

為了提供這樣嚴格的數據,該平臺向航空公司的網站發送了請求,以訪問其數據庫并通過API獲取相關數據。網站以API形式傳遞給平臺數據作為響應,平臺將其顯示在屏幕上,基本的過程如下:

如何開發API,這樣一份完整的API開發指南足夠了

 

在此,航班預訂應用程序/平臺和航空公司的網站充當端點(EndPoint),而API充當簡化數據共享過程的中介。在談論端點通信時,API有兩種形式,即REST和SOAP。盡管這兩種方法都能帶來有效的結果,但目前移動應用開發程序更喜歡使用REST而不是SOAP,因為SOAP API繁重且依賴于平臺。

下面就介紹一下如何開發API?選擇哪些工具和技術?

四、開發API的工具

在開發API的過程中有許多工具和技術可以使用,下面介紹幾個用于為開發人員開發API的流行工具:

  1. Apigee:它是google的API管理工具,通過重新建立API方法來幫助開發人員和企業家在數字化轉型方面取得成功。
  2. APIMatic and API Transformer:提供了復雜的自動生成工具,通過API特定格式構建高質量的SDK和代碼片段,并將其轉換為其他規范的形式,如RAML,API Blueprint等等。
  3. API Science:該工具主要用于評估內部API和外部API的性能。
  4. API Serverless Architecture:該產品借助云的服務器基礎架構協助移動應用程序開發人員設計、構建、發布和托管API。
  5. API Platform:這是一個適用于Web API開發的開源php框架。
  6. OAuth2:這是一種用于身份驗證和授權API的身份管理解決方案。
  7. ClearBlade:這是一個API管理程序,用于將IOT技術融入流程中。
  8. GitHub:這是一個開源的Git存儲庫,用來托管代碼服務,可以提交代碼、發布請求,版本控制。還可以將代碼保存在私有存儲庫中。
  9. Postman:這是一個API工具鏈,使開發人員能夠運行、測試、記錄和評估其API的性能。

五、高效API的特性

如何開發API,這樣一份完整的API開發指南足夠了

 

1、修改時間戳/按條件搜索:API應該允許用戶根據不同的條件(例如日期)搜索數據,并能對檢索的數據進行修改(更新,編輯和刪除),并能記錄修改的時間戳。

2、分頁:當數據量很大的時候,我們不希望每次都獲取完整的數據列表。在這種情況下,API應該能夠確定一次顯示多少數據以及總頁數,還應告知最終用戶剩余的數據頁數。

3、排序:API應授權用戶根據修改時間或其他條件對數據進行排序。

4、JSON支持/ REST:盡量使用RESTful風格進行有效的API開發。REST API是無狀態的,輕量級的。此外,JSON的語法類似于大多數編程語言的語法,這使移動應用程序開發人員可以輕松地將其解析為任何其他語言。

5、通過OAuth進行授權:由于API需要對外暴露,因此還需要通過OAuth進行授權-您只需單擊一個按鈕即可完成。

六、構建API的最佳實踐

如何開發API,這樣一份完整的API開發指南足夠了

 

  1. 流量限制:流量限制是考慮流量溢出,并保護其免受Dos攻擊的一種好習慣。
  2. 將API網關視為增強點:在設置限制規則、API 秘鑰和OAuth的應用時,必須將API網關視為最佳實施點。只有正確的、合法的用戶才能訪問后面的數據,并能在網關這里加密消息或編輯私密消息,從而分析和管理API。
  3. 允許覆蓋HTTP方法:由于某些代理僅支持GET和POST方法,因此需要讓RESTful API 覆蓋HTTP方法,可以使用自動以HTTP頭X-HTTP-Method-Override。
  4. 評估API和基礎結構:當前,實時分析是可以實現的,但是如果API服務器存在內存泄漏、CPU耗盡或其他問題該怎么辦?考慮到這種情況,可以使用一些工具來對API進行評估和排查。
  5. 文檔:為API編寫文檔,可以使用OpenAPI的規范的格式,這樣其他應用程序開發人員可以輕松的了解整個過程并利用這些信息來提供更好的用戶體驗。總之,良好的API文檔可以減少項目實施的時間,提供API開發的效率。

翻譯自:https://appinventiv.com/blog/complete-guide-to-api-development/

分享到:
標簽:API
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定