nodejs中的express接口的实现
我们在学习后端的时候会接触很多框架,比如说python中django框架,也好比说我们今天学的nodejs中的express框架,废话不多说,上代码。
渲染分页接口
router.get("/dispute", async (req, res) => {
// 获取查询参数 pageSize 和 currentPage
let { pageSize, currentPage } = req.query;
// 将查询参数转换为整数类型
pageSize = parseInt(pageSize, 10);
currentPage = parseInt(currentPage, 10);
// 使用 disputeModel 计算数据库中的总文档数
const total = await disputeModel.countDocuments();
// 使用 disputeModel 查询数据库,进行分页操作
const disputeData = await disputeModel
.find()
.skip((currentPage - 1) * pageSize)
.limit(pageSize);
// 向客户端发送包含成功状态码、成功消息、争议数据和总数的响应
res.send({
code: 200,
msg: "获取成功",
disputeData, // 分页后的数据
total, // 总文档数
});
});
首先,它从请求的查询参数中获取pageSize和currentPage,并将它们转换为整数类型。
然后,它使用disputeModel来计算数据库中的总文档数,并将结果存储在total变量中。
接下来,它使用disputeModel查询数据库,通过使用skip和limit方法进行分页,跳过前面的页数并限制每页的数据数量。
最后,它发送一个包含成功状态码、成功消息、争议数据和总数的响应给客户端。
现在是添加接口
// 添加接口,处理客户端对于 "/adddispute" 路径的 POST 请求
router.post('/adddispute', async (req, res) => {
// 从请求的正文中获取数据并存储在变量 body 中
let body = req.body;
try {
// 使用 disputeModel 创建一条新的数据,将请求的数据保存到数据库中
await disputeModel.create(body);
// 向客户端发送一个包含成功状态码和成功消息的响应
res.send({
code: 200,
msg: '添加成功'
});
} catch (error) {
console.error('添加失败:', error);
// 如果创建失败,捕获错误并向客户端发送一个包含错误状态码和错误消息的响应
res.status(500).send({
code: 500,
message: '添加失败'
});
}
});
首先,它从请求的正文中获取数据,并将其存储在变量body中。
然后,它尝试使用disputeModel来创建一条新的数据,将请求的数据保存到数据库中。
如果创建成功,它向客户端发送一个包含成功状态码和成功消息的响应。
如果创建失败,它会捕获错误并向客户端发送一个包含错误状态码和错误消息的响应。
这段代码的作用是在数据库中添加新的数据信息。如果成功,返回200状态码和"添加成功"的消息;如果失败,返回500状态码和"添加失败"的消息。
修改接口
// 更新接口,处理客户端对于 "/updispute" 路径的 POST 请求
router.post('/updispute', async (req, res) => {
// 从请求的正文中获取数据并存储在变量 body 中
let body = req.body;
try {
// 使用 disputeModel 更新数据库中的数据
await disputeModel.updateOne(body);
// 向客户端发送一个包含成功状态码和成功消息的响应
res.send({
code: 200,
msg: '修改成功'
});
} catch (error) {
console.error('修改失败:', error);
// 如果更新失败,捕获错误并向客户端发送一个包含错误状态码和错误消息的响应
res.status(500).send({
code: 500,
message: '修改失败'
});
}
});
首先,它从请求的正文中获取数据,并将其存储在变量body中。
然后,它尝试使用disputeModel来更新数据,将请求的数据更新到数据库中。这里需要注意的是,updateOne()方法接受一个对象作为参数,该对象包含要更新的数据的筛选条件和要进行的更新操作。
如果更新成功,它向客户端发送一个包含成功状态码和成功消息的响应。
如果更新失败,它会捕获错误并向客户端发送一个包含错误状态码和错误消息的响应。
这段代码的作用是在数据库中更新数据信息。如果成功,返回200状态码和"修改成功"的消息;如果失败,返回500状态码和"添加失败"的消息。
删除接口
//删除接口
router.delete('/deldispute/:id', async (req, res) => {
let id = req.params.id;
try {
await disputeModel.deleteOne({ _id: id }); // 使用正确的字段名 '_id'
res.send({
code: 200,
message: '删除成功'
});
} catch (error) {
console.error('删除失败:', error);
res.status(500).send({
code: 500,
message: '删除失败'
});
}
});
首先,它从请求的参数中获取id,并将其存储在变量id中。
然后,它尝试使用disputeModel来删除数据库中满足特定"_id"字段值的数据。在这里,我们使用deleteOne()方法来删除匹配的数据。
如果删除成功,它向客户端发送一个包含成功状态码和成功消息的响应。
如果删除失败,它会捕获错误并向客户端发送一个包含错误状态码和错误消息的响应。
这段代码的作用是根据提供的id从数据库中删除数据信息。如果成功,返回200状态码和"删除成功"的消息;如果失败,返回500状态码和"删除失败"的消息。
上述则是实现的增删改查接口,希望对您有帮助。