使用Node.js和Express构建RESTful API
在现代Web开发中,构建RESTful API是连接前端应用和数据库的关键部分。本文将介绍如何使用Node.js和Express框架来创建一个简单的RESTful API。我们将涵盖路由、数据验证、CRUD操作和中间件等方面。
一、Node.js:服务器端JavaScript运行时
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,允许在服务器端运行JavaScript代码。它非常适合构建轻量级的、高并发的网络应用。
二、Express:Web应用框架
Express是一个简洁而灵活的Node.js Web应用框架,提供一系列强大的功能,如路由、中间件和模板引擎。Express使得构建RESTful API变得非常简单。
安装Express:
```
npm init -y
npm install express
```
创建一个新的Express应用:
```javascript const express = require('express'); const app = express(); const port = 3000; // 设置JSON中间件 app.use(express.json()); // 创建一个简单的CRUD API // 获取所有物品 app.get('/items', (req, res) => { res.json([ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' } ]); }); // 获取单个物品 app.get('/items/:id', (req, res) => { const itemId = parseInt(req.params.id, 10); const item = items.find(item => item.id === itemId); if (!item) { return res.status(404).send('Item not found'); } res.json(item); }); // 创建一个新的物品 app.post('/items', (req, res) => { const item = { id: items.length + 1, name: req.body.name }; items.push(item); res.status(201).json(item); }); // 更新一个物品 app.put('/items/:id', (req, res) => { const itemId = parseInt(req.params.id, 10); const item = items.find(item => item.id === itemId); if (!item) { return res.status(404).send('Item not found'); } item.name = req.body.name; res.json(item); }); // 删除一个物品 app.delete('/items/:id', (req, res) => { const itemId = parseInt(req.params.id, 10); items = items.filter(item => item.id !== itemId); res.status(204).send(); }); // 启动服务器 app.listen(port, () => { console.log(`Server running on http://localhost:${port}`); }); ```