網路與介面

API · 應用程式介面

/ ay-pee-EYE /

API(應用程式介面)是兩個程式之間約定好的「對話方式」。它是一份契約:「你可以提出這些請求,而我會準確地回給你這些東西。」你不需要知道對方程式內部怎麼運作——你只要知道該問什麼,以及答案會長成什麼樣子。

最經典的比喻是餐廳菜單。你不會衝進廚房自己炒菜;你看菜單、指著第 4 道,然後一盤菜就端出來了。菜單就是 API:一份固定的、你能點的東西清單,把背後所有的切菜、油炸都藏了起來。廚房就算把自己徹底重新佈置一遍,只要菜單不變,你點的菜照樣上得來。

這就是為什麼 API 無處不在。當一個天氣應用程式告訴你明天的天氣時,它並沒有自己去測量天空——它向某個天氣服務的 API 發出請求,拿回了一個整整齊齊的答案。API 讓程式互相借用彼此的本事,卻從不暴露各自亂糟糟的內部。

$ curl https://api.example.com/weather?city=Taipei
{ "city": "Taipei", "tempC": 28, "sky": "clear" }

你向 API 提一個問題,它就回給你一個整齊、可預期的答案。

API 是整張菜單,而 endpoint(端點)是上面的某一道菜。

又稱
interfacerest apiweb apiapplication programming interface