环境准备
安装 Node.js:
从 Node.js 官网 下载并安装 Node.js。
初始化项目:
创建一个新的项目文件夹并初始化 npm 项目。
mkdir my-apicd my-api npm init -y
安装 Express:
安装 Express.js 作为项目依赖。
npm install express
创建基本服务器
设置 Express 服务器:
创建一个
app.js
文件并设置基本的 Express 服务器。const express = require('express');const app = express();const port = process.env.PORT || 3000;app.get('/', (req, res) => { res.send('Hello World!');});app.listen(port, () => { console.log(`Server running on port ${port}`);});
运行服务器:
在命令行中运行服务器。
node app.js
定义 RESTful 路由
创建资源路由:
定义路由来处理资源的 CRUD 操作。
// GET all itemsapp.get('/items', (req, res) => { // Logic to fetch all items});// GET a single item by IDapp.get('/items/:id', (req, res) => { // Logic to fetch a single item by ID});// POST a new itemapp.post('/items', (req, res) => { // Logic to create a new item});// PUT to update an existing itemapp.put('/items/:id', (req, res) => { // Logic to update an existing item});// DELETE an itemapp.delete('/items/:id', (req, res) => { // Logic to delete an item});
使用路由中间件:
使用中间件来处理路由前的操作,如验证、日志记录等。
处理请求和响应
解析请求体:
使用中间件如
body-parser
来解析请求体。npm install body-parser
const bodyParser = require('body-parser');app.use(bodyParser.json());
响应状态码:
根据操作结果返回适当的 HTTP 状态码。
错误处理:
使用中间件来集中处理错误。
数据持久化
选择数据库:
根据需要选择合适的数据库(如 MongoDB, PostgreSQL, MySQL)。
数据库集成:
使用 ORM(如 Sequelize)或 ODM(如 Mongoose)来集成数据库。
数据模型:
定义数据模型来表示 API 的数据结构。
测试 API
编写测试:
使用 Mocha 和 Chai 等工具编写 API 测试。
模拟数据:
使用模拟数据来测试 API 的不同场景。
自动化测试:
集成测试到 CI/CD 流程中。
安全和性能
认证和授权:
实现认证(如 JWT)和授权。
输入验证:
使用中间件来验证输入数据。
性能优化:
使用缓存、压缩等技术来优化性能。
安全更佳实践:
遵循安全更佳实践,如使用 HTTPS、设置 CORS 策略等。
文档和版本控制
API 文档:
使用 Swagger 或 Apiary 创建 API 文档。
版本控制:
在 API 的 URL 中包含版本号,如
/api/v1/items
。