什么是API?一文讓你徹底搞明白!

0 評論 1294 瀏覽 1 收藏 8 分鐘

API作為軟件應(yīng)用程序間的通信橋梁,對產(chǎn)品經(jīng)理至關(guān)重要。懂API能助您高效溝通、拓展產(chǎn)品能力,還可通過API盈利。本文解析API核心組成要素,助您在產(chǎn)品設(shè)計(jì)中巧妙運(yùn)用。

什么是API?

API,英文全稱是Application Programming Interface,意思是“應(yīng)用程序接口”。一般都是簡稱為接口,或者直接就叫API。

API是一套明確定義的規(guī)則、協(xié)議和工具,它規(guī)定不同的軟件應(yīng)用程序之間怎么相互通信、交換數(shù)據(jù)或者共享功能。

比如一個手機(jī)app想要給用戶顯示天氣信息,根本不需要自己發(fā)射天氣衛(wèi)星,做天氣的監(jiān)測分析預(yù)報(bào)等等工作,直接按照規(guī)則,調(diào)用天氣網(wǎng)的API接口就可以了,省時省力。

產(chǎn)品經(jīng)理為什么要懂API?

1、和開發(fā)溝通起來更方便。

這是最基礎(chǔ)的原因了,如果聽開發(fā)說話像聽天書一樣,那后面的工作真是就沒法進(jìn)行了。

2、提升開發(fā)效率,擴(kuò)展產(chǎn)品能力。

現(xiàn)在很多產(chǎn)品的能力并不是完全靠自己獨(dú)立開發(fā)完成的,而是調(diào)用別家的能力和服務(wù)。

比如產(chǎn)品接入微信支付、支付寶支付、微信登錄、地圖等等這些能力,都需要依賴各個公司的API。

在一些公司內(nèi)部,不同產(chǎn)品間可能也需要以內(nèi)部API的形式來進(jìn)行調(diào)用。

API對產(chǎn)品生態(tài)的構(gòu)建,起著非常重要的作用。

產(chǎn)品經(jīng)理懂API的話,就能比較清楚的知道產(chǎn)品能接入哪些能力和服務(wù),對于產(chǎn)品能力的邊界有一個把控。

3、通過API來盈利。

很多公司都是把自家的API做為一種能力進(jìn)行售賣的,比如各類地圖的API,大部分都會涉及到API調(diào)用的收費(fèi)。

常見的API類型

1、 首先按通信協(xié)議劃分:

作為產(chǎn)品經(jīng)理,其實(shí)不用太糾結(jié)技術(shù)實(shí)現(xiàn)的細(xì)節(jié),但要大概知道 什么場景用什么類型的API:

需要靈活方便的獲取數(shù)據(jù),比如用戶個人中心同時展示基本信息、訂單列表、積分余額,可以選用 GraphQL API避免多次請求;

需要高并發(fā)、低延遲,比如618或者雙十一大促秒殺活動時的訂單提交,選 RESTful API,比較成熟穩(wěn)定、開發(fā)成本也低;

需要實(shí)時數(shù)據(jù)傳輸,比如視頻會議的音視頻傳輸,選 gRPC API,基于 HTTP/2,傳輸速度是 REST 的 3 倍以上。

2、按使用范圍劃分

API的核心組成要素(產(chǎn)品經(jīng)理最好要懂)

1、Endpoint(端點(diǎn))

就是API的具體網(wǎng)址鏈接(URL),代表一個特定的功能或者是資源。比如https://api.example.com/v1/users 就是一個“用戶”資源的端點(diǎn)。產(chǎn)品經(jīng)理需要考慮自己的產(chǎn)品需要暴露哪些“資源”,比如用戶、訂單等等,每個資源需要提供哪些操作。

2、HTTP方法

比較常見的有下面這四種:

  1. GET:獲取數(shù)據(jù),比如查看用戶列表、獲取訂單詳情。
  2. POST:創(chuàng)建數(shù)據(jù),比如創(chuàng)建新用戶、下新訂單。
  3. PUT/PATCH:更新數(shù)據(jù),比如修改用戶信息、更新訂單地址。
  4. DELETE:刪除數(shù)據(jù),比如刪除用戶、取消訂單。

如果你會使用postman的話,應(yīng)該會比較熟悉這幾個方法。

3、請求參數(shù)(Request Parameters)

相當(dāng)于是調(diào)用API時,“對話的內(nèi)容”,按傳遞位置劃分的話,包含路徑參數(shù)(Path Parameters)、查詢參數(shù)(Query Parameters)和請求體參數(shù)(Body Parameters)。

  • 路徑參數(shù)(Path Parameters):用來表示唯一資源,比如用戶ID或者訂單號,是一個唯一的值。
  • 查詢參數(shù)(Query Parameters):相當(dāng)于是查詢的條件,比如查詢已支付訂單的第一頁,每頁10條,這些都要在查詢參數(shù)中體現(xiàn)。可以看這個案例:GET https://api.xxx.com/orders?status=paid&page=1&size=10,接口地址后,用?拼接的就是查詢參數(shù),多個參數(shù)用&分隔。
  • 請求體參數(shù)(Body Parameters):相當(dāng)于是請求的正文內(nèi)容,可以用來傳遞復(fù)雜的數(shù)據(jù),比如訂單詳情、用戶的注冊信息等等內(nèi)容。

4、響應(yīng)數(shù)據(jù)(Response Data)

響應(yīng)數(shù)據(jù)是調(diào)用API時返回的結(jié)果,相當(dāng)于是“對話時的回復(fù)內(nèi)容”。

響應(yīng)數(shù)據(jù)一般由響應(yīng)狀態(tài)碼和響應(yīng)體租組成,首先要能夠理解不同的狀態(tài)碼都是什么意思,可以參考下面這個表格中的內(nèi)容:

響應(yīng)體一般和請求體一樣,主流是json格式。

如果是成功響應(yīng):“狀態(tài)標(biāo)識 + 數(shù)據(jù)”;

如果是失敗響應(yīng):“狀態(tài)標(biāo)識 + 錯誤碼 + 錯誤描述”;

下面是以查詢北京天氣為例子的響應(yīng)數(shù)據(jù):

成功響應(yīng):

失敗響應(yīng):

5、認(rèn)證授權(quán)

認(rèn)證授權(quán)是API 的 安全校驗(yàn)機(jī)制,相當(dāng)于是 “對話前的身份驗(yàn)證”,確認(rèn)調(diào)用者是 “合法用戶”,并且有 “說話權(quán)限”。

下面表格中是幾種常見的認(rèn)證方式,可以根據(jù)不同的場景來使用,產(chǎn)品經(jīng)理了解即可:

除了以上這些內(nèi)容,產(chǎn)品經(jīng)理也要和研發(fā)一起,做好API安全方面的設(shè)計(jì),比如做好身份認(rèn)證、權(quán)限控制,以及在一些特殊場景下,能夠限流或直接熔斷API,保證系統(tǒng)安全。

作者:向上的小霍,現(xiàn)任某廠AI產(chǎn)品經(jīng)理,公眾號:向上的小霍。

本文由 @向上的小霍 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自 Pexels,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!