创建项目目录:
首先,我们需要创建一个新的目录并进入该目录。
mkdir books-api
cd books-api
初始化npm项目:
使用npm初始化一个新的Node.js项目。这将创建一个package.json文件,用于管理项目的依赖关系和元数据。
npm init -y
安装Express:
Express是一个快速、无忧的web框架,可以帮助我们轻松创建API。我们需要安装Express。
npm install express
创建项目文件:
创建一个名为app.js的文件,这是我们的主文件。在这里,我们将编写API逻辑。
touch app.js
编写API逻辑:
在app.js文件中,编写增删改查(CRUD)功能的实现代码。
const express = require('express');
const app = express();
const PORT = 3000;
app.use(express.json()); // 解析 JSON 请求体
let books = []; // 模拟数据库
// 创建(C) - 添加新书
app.post('/books', (req, res) => {
const { id, title, author } = req.body;
books.push({ id, title, author });
res.status(201).send('Book added successfully');
});
// 读取(R) - 获取所有书籍
app.get('/books', (req, res) => {
res.status(200).json(books);
});
// 读取(R) - 获取单本书籍
app.get('/books/:id', (req, res) => {
const { id } = req.params;
const book = books.find(b => b.id === id);
if (book) {
res.status(200).json(book);
} else {
res.status(404).send('Book not found');
}
});
// 更新(U) - 修改书籍信息
app.put('/books/:id', (req, res) => {
const { id } = req.params;
const { title, author } = req.body;
const bookIndex = books.findIndex(b => b.id === id);
if (bookIndex !== -1) {
books[bookIndex] = { id, title, author };
res.status(200).send('Book updated successfully');
} else {
res.status(404).send('Book not found');
}
});
// 删除(D) - 删除书籍
app.delete('/books/:id', (req, res) => {
const { id } = req.params;
const bookIndex = books.findIndex(b => b.id === id);
if (bookIndex !== -1) {
books.splice(bookIndex, 1);
res.status(200).send('Book deleted successfully');
} else {
res.status(404).send('Book not found');
}
});
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
运行应用程序:
在终端中运行以下命令以启动服务器:
node app.js
这样,Node.js项目已经初始化并可以运行了。通过这种方式,我们创建了一个简单的API,可以对书籍信息进行增删改查操作。如果需要,可以使用Postman或其他API测试工具来测试API的各个端点。