| 閱文時長 | | 3.92分鐘 | 字數統計 | | 2756.9字符 |
| 『微服務·API檔案』 | |||
| 撰寫人 | | SCscHero | 撰寫時間 | | Thursday, September 10, 2020 |
| 文章型別 | | 系列 | 完成度 | | 待完善 |
| 座右銘 | 每一個偉大的事業,都有一個微不足道的開始,Hello World! | ||
一、什么是API檔案 完成度:100%
a) 廣泛定義
由于在各個百科網站上沒有給出準確定義,但不少大佬給了定義,以下是Keshav Vasudevan[1]給出的定義,
1.API檔案,它為什么重要?
我們處在一個多平臺的經濟環境中,而api是數字環境的粘合劑,平臺是用戶可以為其他用戶擴展的產品,任何產品都可以通過為用戶提供在其上添加服務和功能的方法成為平臺,api是平臺經濟的推動者,允許用戶在現有產品上增強和添加服務,當一個產品轉變為一個平臺時,它就有了一種新的用戶型別:第三方開發人員,迎合開發商的需求是很棘手的,他們善于分析、精確,并試圖解決API的重要問題,他們希望了解如何有效地使用API,這就是API檔案的作用所在,
2.什么是API檔案?
API檔案是可交付的技術內容,包含關于如何有效地使用和集成API的說明,它是一個簡明的參考手冊,包含使用API所需的所有資訊,以及關于函式、類、回傳型別、引數等的詳細資訊,并支持教程和示例,API檔案傳統上是使用常規的內容創建和維護工具以及文本編輯器完成的,像OpenAPI/Swagger規范這樣的API描述格式已經自動化了檔案處理程序,使得團隊更容易生成和維護檔案,第三方開發人員是API的主要消費者,他們正忙于解決復雜的編程難題,對于技術用戶來說,您的API是一種達到目的的手段,他們希望盡可能快地集成以推進軟體開發,這意味著他們應該立即了解您的API的價值和用途,開發人員在發現、學習使用以及最終與API集成時積累的經驗稱為開發人員體驗(DX[2]),API檔案是一個高評級DX的關鍵,
3. 為什么使用API檔案?
在API生命周期的所有階段中,檔案可能是增長最快的領域,對于圍繞檔案的工具生態系統來說,這一點尤其正確,注意到這種趨勢很有趣,因為檔案通常是開發人員在啟動代碼時很少關注的東西,事實上,實作代碼要比撰寫好的檔案容易得多,但這是因為它對采用和使用的直接影響,你可以擁有最好的,功能性的產品,但如果不知道如何使用,沒有人會去使用它,檔案是良好開發人員體驗的基礎,----來自《Swagger官網》[3]
b) 個人理解
我對API檔案理解是一個交付性成果,主要應用于前后端分離開發或者第三方API呼叫,并能增強API可維護性及可用性,在早前專案中(大概是2019年下半年),我們的專案就應用了Swagger,那時候只是簡單使用,生成API檔案,并苛求了自己寫注釋的習慣,對于其他功能,比如:API分組、自定義引數、Swagger匯入Postman、分布式系統中網關集成檔案,沒有深入學習,因此,有了這篇博客總結沉淀一下,
二、API檔案的使用 完成度:100%
a) 微服務下的API檔案
單體架構下的API檔案自然不必多說,但在分布式系統下的API檔案,是否有所不同呢,此時我們需要了解微服務架構中的一個組件--API網關,我們需要將不同服務的API檔案自動整合到一個專案中,這個專案可以是API網關,也可以是一個獨立API檔案管理系統(由任務調度器自動獲取下游API資料,更新此系統),
作為.Neter,博主會寫一篇關于".NetCore3.1框架集成Ocelot+Swagger組件"的博客,
b) 常用的API檔案組件
- Swagger:開源;易上手;輕量級;RESTful風格;嵌入專案自動生成;UI簡潔漂亮;不能保存引數;支持資料匯出;適合前后端分離開發人員使用,
- YApi:開源;權限管理;支持Swagger、Postman等資料匯入;已有大企業使用中;維護麻煩(但有解決方案);適合大規模團隊使用,
- Postman:保存在Collection的API集合可生成API檔案,可以更改此檔案為開放檔案或私有賬號檔案;功能有局限性;但可保存引數;適合測驗人員使用,
總結:博主用過Swagger和Postman的API檔案,覺得兩者結合使用可以滿足大部分需求,YApi體驗過,感徑訓可以,權限功能比較實用,也因此受到了大企業的青睞,
三、宣告與參考資料 完成度:100%
原創博文,未經許可請勿轉載,
如有幫助,歡迎點贊、收藏、關注,如有問題,請評論留言!如需與博主聯系的,直接博客私信SCscHero即可,
Keshav是技術領域公認的產品和市場領導者,對建立和發展基于SaaS的網路和移動應用程式充滿熱情,主導SmartBear軟體兩款成功SaaS產品的產品管理,幫助SwaggerHub的產品線增長了200%,并將其打造成了數百萬美元的資產,專業領域包括產品管理、市場營銷和資料分析,并傾向于將產品從測驗版增長到規模化,有扎實的定量研究背景,了解大型復雜資料集的作業,獲得 MEM 學位,技能:Adobe SiteCatalyst (Omniture),Mixpanel, MS Office, XLMiner, Solver, HTML/CSS, JQuery, AJAX, Spotfire, JIRA, Adobe Photoshop, Swagger/OpenAPI規范,Ruby on Rails,谷歌分析,SEO優化,敏捷的產品管理, ??
DX是代表了API的理想開發體驗的評級,數字越高,分數越高,10代表完美,該指數包括13個獨立的標準,每個標準根據重要性進行加權,其中最重要的因素是:在主流語言中使用的庫;深入淺出的入門指南;自助解決方案(不需要"演示"或"呼叫我們");清晰的定價,讓開發者知道它的成本; ??
Swagger官方檔案 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/3040.html
標籤:其他
