nodejs增删改查接口
时间: 2023-07-21 09:22:05 浏览: 113
以下是一个使用 Node.js、Express.js 和 MongoDB 实现增删改查接口的示例:
1. 首先,需要安装相关依赖:
```
npm install express mongoose body-parser --save
```
2. 创建 Express.js 应用程序,并连接 MongoDB 数据库:
```javascript
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const app = express();
// 连接 MongoDB 数据库
mongoose.connect('mongodb://localhost/test', {
useNewUrlParser: true,
useUnifiedTopology: true
});
// 使用 body-parser 解析请求体
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// 定义数据模型
const UserSchema = new mongoose.Schema({
username: String,
password: String,
age: Number
});
const User = mongoose.model('User', UserSchema);
// 启动服务器
app.listen(3000, () => {
console.log('Server started on port 3000');
});
```
3. 实现增删改查接口:
```javascript
// 添加用户
app.post('/users', async (req, res) => {
const { username, password, age } = req.body;
const user = new User({ username, password, age });
try {
await user.save();
res.status(201).json({ message: 'User created successfully', user });
} catch (err) {
res.status(400).json({ message: 'Failed to create user', error: err.message });
}
});
// 获取所有用户
app.get('/users', async (req, res) => {
try {
const users = await User.find();
res.status(200).json(users);
} catch (err) {
res.status(400).json({ message: 'Failed to fetch users', error: err.message });
}
});
// 获取单个用户
app.get('/users/:id', async (req, res) => {
const { id } = req.params;
try {
const user = await User.findById(id);
if (user) {
res.status(200).json(user);
} else {
res.status(404).json({ message: 'User not found' });
}
} catch (err) {
res.status(400).json({ message: 'Failed to fetch user', error: err.message });
}
});
// 更新用户
app.put('/users/:id', async (req, res) => {
const { id } = req.params;
const { username, password, age } = req.body;
try {
const user = await User.findById(id);
if (user) {
user.username = username;
user.password = password;
user.age = age;
await user.save();
res.status(200).json({ message: 'User updated successfully', user });
} else {
res.status(404).json({ message: 'User not found' });
}
} catch (err) {
res.status(400).json({ message: 'Failed to update user', error: err.message });
}
});
// 删除用户
app.delete('/users/:id', async (req, res) => {
const { id } = req.params;
try {
const user = await User.findById(id);
if (user) {
await user.remove();
res.status(200).json({ message: 'User deleted successfully', user });
} else {
res.status(404).json({ message: 'User not found' });
}
} catch (err) {
res.status(400).json({ message: 'Failed to delete user', error: err.message });
}
});
```
以上代码实现了一个简单的增删改查接口,可以通过发送 HTTP 请求来添加、获取、更新和删除用户数据。当请求成功时,将返回相应的状态码和数据;当请求失败时,将返回相应的状态码和错误信息。
阅读全文