在進行後端開發時,你一定會遇到兩個名詞:API 和 中間件。
雖然兩者在應用程式架構中都發揮關鍵作用,但它們的用途卻截然不同。
讓我們將他們分解,比較他們的角色,並以一種不會讓你想翻桌子的方式澄清他們的差異。
API 代表應用程式介面。它本質上是一個允許不同軟體元件相互溝通的合約。
將其視為餐廳的服務員:它接受您的訂單(請求),將其送到廚房(服務器),然後帶回您的食物(回應)。
每次訂購 Uber 或發布推文時,您都在使用 API。應用程式的後端為前端提供API來獲取或發送資料。
const express = require('express'); const app = express(); app.get('/users', (req, res) => { res.json([ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Smith' }, ]); }); app.listen(3000, () => { console.log('Server running on port 3000'); });
中間件更像是廚房的幕後工作人員——它不是直接為你服務,但它保證一切順利進行。
用技術術語來說,中間件是位於應用程式管道中的請求和回應之間的一個函數或一組函數。
將中間件視為建築物內的保全。
它確保只有授權個人(有效請求)才能到達辦公室(API)。
const express = require('express'); const app = express(); const loggingMiddleware = (req, res, next) => { console.log(`Request made to: ${req.url}`); next(); // Pass control to the next middleware or handler }; app.use(loggingMiddleware); app.get('/users', (req, res) => { res.json([ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Smith' }, ]); }); app.listen(3000, () => { console.log('Server running on port 3000'); });
Aspect | API | Middleware |
---|---|---|
Purpose | Defines endpoints for interaction. | Processes requests/responses. |
Visibility | Exposed to external systems. | Works internally within the app. |
Examples | /users, /products, /login | Authentication, logging, error handling |
Interaction | Invoked by external clients. | Invoked automatically in the request pipeline. |
Code Placement | Found in controllers. | Found in the middleware functions. |
API
中介軟體
想像一下建立一個共乘應用程式。 API 可能包括:
在幕後,中間件確保:
API 和中間件對於建立強大的應用程式都是不可或缺的 - 一個公開功能,另一個確保其順利、安全地工作。
我一直在開發一個名為 LiveAPI 的超級方便的工具。
它旨在讓開發人員輕鬆編寫 API 文件。
使用LiveAPI,您可以快速產生互動式API文檔,允許使用者直接從瀏覽器執行API。
如果您厭倦了手動建立文件或不想花時間為 API 整合 swagger,這個工具可能會讓您的生活更輕鬆,現在就嘗試 LiveAPI!
以上是API 與中間件:了解差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!