在进行后端开发时,你一定会遇到两个术语: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中文网其他相关文章!