Node.js 基于框架的大学生奖学金评定系统
该代码实例是一个使用Express框架和MongoDB数据库的大学奖学金评定系统的示例。以下是一个简化的后端路由设置示例,展示了如何设置基本的RESTful API接口:
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
// 连接到MongoDB数据库
mongoose.connect('mongodb://localhost:27017/grant_system', { useNewUrlParser: true });
// 创建奖学金评定模型
const GrantSchema = new mongoose.Schema({
name: String,
amount: Number,
// 其他字段...
});
const Grant = mongoose.model('Grant', GrantSchema);
// 获取所有奖学金评定
router.get('/grants', async (req, res) => {
try {
const grants = await Grant.find();
res.json(grants);
} catch (err) {
res.status(500).send('Error fetching grants.');
}
});
// 创建新的奖学金评定
router.post('/grants', async (req, res) => {
const newGrant = new Grant(req.body);
try {
const savedGrant = await newGrant.save();
res.status(201).send(savedGrant);
} catch (err) {
res.status(500).send('Error creating grant.');
}
});
// 更新奖学金评定
router.put('/grants/:id', async (req, res) => {
try {
const updatedGrant = await Grant.findByIdAndUpdate(req.params.id, req.body, { new: true });
if (!updatedGrant) return res.status(404).send('Grant not found.');
res.send(updatedGrant);
} catch (err) {
res.status(500).send('Error updating grant.');
}
});
// 删除奖学金评定
router.delete('/grants/:id', async (req, res) => {
try {
const deletedGrant = await Grant.findByIdAndDelete(req.params.id);
if (!deletedGrant) return res.status(404).send('Grant not found.');
res.send(deletedGrant);
} catch (err) {
res.status(500).send('Error deleting grant.');
}
});
module.exports = router;
这段代码展示了如何使用Express和Mongoose来创建RESTful API,包括基本的CRUD操作。代码中使用了异步函数和try-catch
来处理异步操作和错误,增强了代码的健壮性。这个示例代码可以作为开发者学习和实践的参考。
评论已关闭