天天看點

一文搞懂API接口那些事兒

作者:人人都是産品經理
在産品設計和開發中,靈活使用現有的API接口能更好完成目前設計。這篇文章,我們就通過案例來了解下API接口的相關知識。
一文搞懂API接口那些事兒

一、接口:數字世界的握手

想象一下,你走進一家咖啡館,你對咖啡師說:“我要一杯拿鐵。”咖啡師接收到你的指令,用他的專業技能制作出一杯香濃的拿鐵給你。在這個過程裡,你不需要知道咖啡機怎麼使用,也不需要了解咖啡豆的烘焙工藝,更不需要知道咖啡怎麼做。

你和咖啡師之間的交流,就像你和咖啡師之間有個“接口”——它定義了你如何請求服務,以及服務如何響應你。

在軟體的世界裡,接口就像是一個規則手冊,告訴不同的程式或者服務,“嘿,如果你想和我聊天,這是你能對我說的話,以及我可能會怎麼回答你。”

這些規則讓軟體元件能夠互相溝通,而不需要了解對方内部的複雜細節。

再具體一點,假設程式員A開發了軟體A,程式員B正在研發軟體B。

有一天,程式員B想要調用軟體A的部分功能,但是他又不想從頭看一遍軟體A的代碼,怎麼辦呢?

程式員A想了一個好主意:我把軟體A裡你需要的功能打包好,寫成函數;你把這個函數放在軟體B裡,就能直接用我的功能啦~ 其中,API 就是程式員A說的那個函數。

二、接口的組成:軟體的對話指南

知道接口的作用,程式員之間如何看懂并調用對方的接口的呢,我們将接口的組成簡化為五個關鍵部分:請求方法、接口位址、請求參數、傳回參數、傳回結果示例。

想象一下,還是剛才點咖啡的場景。

1. 請求方法 (Request Method)

相當于你選擇的點咖啡方式。接口中有Get 和Post 兩種方式。

Get就像你你在咖啡館門口,手裡拿着一張咖啡館的菜單,你知道菜單上咖啡的價格、種類(隻是擷取資訊)。GET請求,是在請求伺服器提供一些特定的資訊,而不會改變伺服器上的任何資料。在技術上,GET請求通常用于檢索資料,且可以被緩存。

而Post是你直接走進咖啡館,看到菜單之後,跟服務員點單“我要一杯大杯的熱拿鐵,少糖”(不僅僅是在擷取資訊,而是在發起一個動作,即下訂單)。服務員會記錄訂單、資訊、排号。這相當于POST請求,它用于向伺服器發送資料,可能會建立一個新的資源或更新現有的資源。POST請求通常不被緩存,因為它們代表了一次新的操作。

2. 接口位址 (Endpoint)

接口位址就像是咖啡館的位置,它是你與咖啡師互動的具體地點。你必須知道這個位址,才能去點咖啡、去咖啡。在接口中,這就是伺服器上的具體資源位置,比如https://api.example.com/users。

3. 請求參數 (Request Parameters)

當站在咖啡館的櫃台前,可能會說:“我要一杯大杯的熱拿鐵,少糖。”

這裡的“大杯”、“熱”和“少糖”就是請求參數,它們告訴咖啡師你具體想要什麼樣的咖啡。

在API中,請求參數是你傳遞給伺服器的具體資訊,比如使用者ID、産品類型等,以便伺服器能準确地響應你的需求。

4. 傳回參數 (Response Parameters)

當咖啡師聽到你的要求後,他會開始制作咖啡,并在完成後告訴你:“您的大杯熱拿鐵,少糖,一共9.9元。”

這裡,“大杯熱拿鐵”、“少糖”和“9.9元”就是傳回參數,它們是咖啡師基于你的請求給出的回報。

在API中,傳回參數是伺服器根據你的請求生成的資訊,比如訂單狀态、結果代碼、200、404等。

5. 傳回結果示例 (Response Example)

如果把整個過程完整地描述出來,就相當于API的傳回結果示例。

例如,當你在咖啡館下單後,你可能會收到一個收據,上面寫着:“訂單号#123456,一杯大杯熱拿鐵(少糖),總價9.9,預計10分鐘後完成。”

這個收據就是一個傳回結果示例,在API中,這通常是一個JSON或XML格式的資料包,詳細說明了你的請求是如何被處理的,以及結果是什麼。

三、接口文檔示例

【API示例】擷取明天北京的天氣預報。

【請求方法】GET

【接口位址】https://api.weatherprovider.com/v1/forecast

【請求參數】

一文搞懂API接口那些事兒

【傳回參數】

一文搞懂API接口那些事兒

【傳回結果示例】

一文搞懂API接口那些事兒

懂接口對産品經理來說有什麼用呢?

(1)前後端的協作,通過接口實作,後端寫接口,前端去調用,這個過程出現問題,比如頁面沒有資料,點選功能按鈕為什麼沒有反應?等等這些問題,降低溝通成本,更了解,也更相容。

(2)當你手裡有一份接口文檔,能了解每個接口解決了什麼問題;在産品設計的時候,請求參數的清晰定義,響應參數傳回的字段正确顯示;也是産品設計中需要考慮的一部分。

(3)第三方API對接時,通過傳回參數擷取關鍵名額,資料是系統的基礎,比如像G端業務會涉及到跟其他系統的對接,對接給到的接口文檔能看懂,提取關鍵資訊,也許其中的某些字段就成為需求的一部分。

希望這個關于接口的解釋,能對你有用呀,手裡有糧,心中不慌。

歡迎評論區一起交流,一起成長。

本文由 @思睿 原創釋出于人人都是産品經理。未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協定。

該文觀點僅代表作者本人,人人都是産品經理平台僅提供資訊存儲空間服務。

繼續閱讀