nodejs实现简单的图书管理系统
时间: 2023-08-25 21:07:40 浏览: 192
图书管理系统连接mysql数据库
好的,下面是一个简单的图书管理系统的Node.js实现:
首先,需要安装Node.js和npm。然后,创建一个新的项目文件夹并在终端中进入该文件夹:
```
mkdir book-management-system
cd book-management-system
```
在该文件夹中,创建一个新的package.json文件:
```
npm init -y
```
接着,安装需要的依赖:
```
npm install express body-parser cors nedb
```
其中,express是一个Node.js框架,用于创建Web应用程序;body-parser是一个Node.js中间件,用于解析HTTP请求的body;cors是一个Node.js中间件,用于处理CORS(跨域资源共享)请求;nedb是一个嵌入式的NoSQL数据库,用于存储数据。
创建一个server.js文件,作为服务器的入口文件:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const Datastore = require('nedb');
const app = express();
const port = 3000;
app.use(bodyParser.json());
app.use(cors());
const db = new Datastore({ filename: 'books.db', autoload: true });
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.get('/books', (req, res) => {
db.find({}, (err, books) => {
if (err) {
res.status(500).send(err);
} else {
res.send(books);
}
});
});
app.post('/books', (req, res) => {
const book = req.body;
db.insert(book, (err, newBook) => {
if (err) {
res.status(500).send(err);
} else {
res.send(newBook);
}
});
});
app.listen(port, () => {
console.log(`Book management system listening at http://localhost:${port}`);
});
```
这个文件使用了上面提到的依赖,创建了一个Express应用程序,并在端口3000上监听HTTP请求。它还创建了一个nedb数据库实例,并将其命名为books.db。在根路径上,它返回了“Hello World!”。在/books路径上,它从数据库中获取所有图书并返回它们。在同一路径上的POST请求中,它将新的图书添加到数据库中。
运行以下命令启动服务器:
```
node server.js
```
现在,可以使用Postman等工具测试API。例如,向http://localhost:3000/books发送GET请求,应该会返回空的JSON对象数组。向同一路径发送POST请求,将以下JSON数据作为请求体:
```json
{
"title": "The Great Gatsby",
"author": "F. Scott Fitzgerald",
"year": 1925
}
```
然后,再次向/books发送GET请求,应该返回添加的新图书。
阅读全文