前言
RESTful API 是现代 Web 开发的重要部分,它可以让前端和后端开发者更好地协作,提高系统的可维护性和可扩展性。本文将介绍如何使用 Express 框架开发 RESTful API,并提供详细的示例代码和实践指导。
环境准备
在开始之前,需要安装以下环境:
- Node.js:建议使用最新版本。
- npm:Node.js 的包管理器,用于安装 Express 和其他依赖。
安装完 Node.js 和 npm 后,可以使用以下命令检查是否安装成功:
node -v npm -v
创建项目
使用以下命令创建一个新的 Express 项目:
mkdir my-express-app cd my-express-app npm init -y npm install express
其中,npm init -y
用于初始化一个新的 npm 项目, -y
表示使用默认值。
编写代码
创建 server.js
在项目根目录下创建一个 server.js
文件,并添加以下内容:
const express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server is running on port ${port}`); });
这段代码创建了一个 Express 应用,并启动了一个监听指定端口的服务器。process.env.PORT || 3000
表示使用环境变量中的端口号,如果没有设置则使用默认值 3000。
创建路由
路由是指将请求映射到相应的处理函数的过程。在 Express 中,可以使用 app.get()
、app.post()
等方法来创建路由。
在 server.js
中添加以下代码:
app.get('/', (req, res) => { res.send('Hello World!'); });
这段代码创建了一个根路由 '/'
,当客户端发送 GET 请求时,服务器会返回 'Hello World!'
。
创建 API
接下来,我们将创建一个 RESTful API,包含以下功能:
- 获取所有用户信息:GET
/api/users
- 获取指定用户信息:GET
/api/users/:id
- 创建新用户:POST
/api/users
- 更新指定用户信息:PUT
/api/users/:id
- 删除指定用户:DELETE
/api/users/:id
首先,在 server.js
中添加以下代码:
app.use(express.json());
这段代码用于解析请求体中的 JSON 数据。
然后,创建一个 users.js
文件,用于处理用户相关的路由和逻辑。
// javascriptcn.com 代码示例 const express = require('express'); const router = express.Router(); let users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' } ]; router.get('/', (req, res) => { res.send(users); }); router.get('/:id', (req, res) => { const id = parseInt(req.params.id); const user = users.find(u => u.id === id); if (user) { res.send(user); } else { res.status(404).send('User not found'); } }); router.post('/', (req, res) => { const user = req.body; user.id = users.length + 1; users.push(user); res.send(user); }); router.put('/:id', (req, res) => { const id = parseInt(req.params.id); const index = users.findIndex(u => u.id === id); if (index !== -1) { users[index] = { ...users[index], ...req.body }; res.send(users[index]); } else { res.status(404).send('User not found'); } }); router.delete('/:id', (req, res) => { const id = parseInt(req.params.id); const index = users.findIndex(u => u.id === id); if (index !== -1) { users.splice(index, 1); res.send('User deleted'); } else { res.status(404).send('User not found'); } }); module.exports = router;
这段代码创建了一个 users
数组,用于存储用户信息。然后,使用 express.Router()
创建一个路由对象,并添加了 GET、POST、PUT 和 DELETE 路由。其中,req.params.id
表示路由路径中的参数 id
,req.body
表示请求体中的数据。
最后,在 server.js
中添加以下代码:
const usersRouter = require('./users'); app.use('/api/users', usersRouter);
这段代码将 /api/users
路由映射到 usersRouter
,即使用 users.js
中定义的路由处理函数。
测试 API
使用以下命令启动服务器:
node server.js
然后,可以使用工具(如 Postman)测试 API。例如,发送 GET 请求到 http://localhost:3000/api/users
,可以得到以下响应:
[ { "id": 1, "name": "Alice" }, { "id": 2, "name": "Bob" }, { "id": 3, "name": "Charlie" } ]
总结
本文介绍了如何使用 Express 框架开发 RESTful API,并提供了详细的示例代码和实践指导。希望读者能够通过本文掌握 Express 的基本使用方法,并在实践中不断深入学习和探索。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/657e728cd2f5e1655d947029