数据信息接口
- add
注意 ,需要创建一个模型,定义好字段
router.post("/add", passport.authenticate('jwt', { session: false }), (req, res) => {
const profileFields = {};
const params = req.body;
if (params.type) profileFields.type = params.type; // 类型
if (params.description) profileFields.description = params.description; // 描述
if (params.income) profileFields.income = params.income;
if (params.expend) profileFields.expend = params.expend;
if (params.cash) profileFields.cash = params.cash;
if (params.remark) profileFields.remark = params.remark;
new Profile(profileFields).save()
.then(profile => {
if (profile)
res.status(200).json({
code: 0,
msg: '信息添加成功',
data: profile
});
return res.status(200).json({
code: 1,
msg: '添加失败!'
})
});
});
postman请求记得
- 获取数据
router.get('/', passport.authenticate('jwt', { session: false }), (req, res) => {
Profile.find()
.then(profiles => {
if (!profiles) {
return res.status(200).json({
code: 0,
msg: '没有查询到数据',
count: 0,
data: []
})
}
res.json({
code: 0,
msg: '数据查询成功',
count: profiles.length,
data: profiles
})
})
.catch(err => {
res.status(404).json(err);
})
});
下面是所有的接口代码,但是多条信息删除,会有错误,这个待解决
const express = require("express");
const router = express.Router();
const passport = require("passport");
const Profile = require("../../models/Profile");
// $route GET api/profiles/init
// @desc 返回的请求的json数据
// @access public
router.get("/init", (req, res) => {
res.json(
{
code: 0,
msg: 'profiles接口初始化测试! 成功!'
}
)
});
// $route POST api/profiles/ save|add
// @desc 创建信息接口
// @access private
router.post("/" || "/add", passport.authenticate('jwt', { session: false }), (req, res) => {
const profileFields = {};
const params = req.body;
if (params.type) profileFields.type = params.type; // 类型
if (params.description) profileFields.description = params.description; // 描述
if (params.income) profileFields.income = params.income;
if (params.expend) profileFields.expend = params.expend;
if (params.cash) profileFields.cash = params.cash;
if (params.remark) profileFields.remark = params.remark;
new Profile(profileFields).save()
.then(profile => {
if (profile) {
return res.status(200).json({
code: 0,
msg: '信息添加成功',
data: profile
});
}
res.status(200).json({
code: 1,
msg: '添加失败!'
})
})
.catch(err => {
res.status(400).json({
code: 1,
msg: '添加失败!, 请具体查看 errMsg',
errMsg: err.message
})
})
});
// $route GET api/profiles index|获取所有
// @desc 获取所有信息
// @access private
router.get('/', passport.authenticate('jwt', { session: false }), (req, res) => {
Profile.find()
.then(profiles => {
if (!profiles) {
return res.status(200).json({
code: 1,
msg: '没有查询到数据',
count: 0,
data: []
})
}
res.json({
code: 0,
msg: '数据查询成功',
count: profiles.length,
data: profiles
})
})
.catch(err => {
res.status(404).json(err);
})
});
// $route GET api/profiles/:id :id|read
// @desc 获取单个信息
// @access private
router.get('/:id', passport.authenticate('jwt', { session: false }), (req, res) => {
const params = req.params;
Profile.findOne({ _id: params.id })
.then(profile => {
/* if (!profile) {
return res.status(200).json({
code: 1,
msg: '没有查询对应的id数据',
data: {}
})
} */
res.json({
code: 0,
msg: 'id数据查询成功',
data: profile
})
})
.catch(err => {
res.status(200).json({
code: 1,
msg: '没有查询对应的id数据',
data: {}
});
})
});
// $route POST api/profiles/edit/:id :id | update 更新
// @desc 修改信息接口
// @access private
router.post("/edit/:id", passport.authenticate('jwt', { session: false }), (req, res) => {
const profileFields = {};
const params = req.body;
if (params.type) profileFields.type = params.type; // 类型
if (params.description) profileFields.description = params.description; // 描述
if (params.income) profileFields.income = params.income;
if (params.expend) profileFields.expend = params.expend;
if (params.cash) profileFields.cash = params.cash;
if (params.remark) profileFields.remark = params.remark;
Profile.findOneAndUpdate(
{ _id: req.params.id }, // id
{ $set: profileFields }, //更新对象
{ new: true } // 是否新的
).then(profile => {
if (profile) {
return res.status(200).json({
code: 0,
msg: '信息修改成功',
data: profile
});
}
res.status(200).json({
code: 1,
msg: '修改失败!,修改的对象不存在!'
})
}).catch(err => {
res.status(400).json({
code: 1,
msg: '修改失败!, 请具体查看 errMsg',
errMsg: err.message
})
})
});
// $route PUT api/profiles/:id :id | update 更新
// @desc 修改信息接口
// @access private
router.put("/:id", passport.authenticate('jwt', { session: false }), (req, res) => {
const profileFields = {};
const params = req.body;
if (params.type) profileFields.type = params.type; // 类型
if (params.description) profileFields.description = params.description; // 描述
if (params.income) profileFields.income = params.income;
if (params.expend) profileFields.expend = params.expend;
if (params.cash) profileFields.cash = params.cash;
if (params.remark) profileFields.remark = params.remark;
Profile.findOneAndUpdate(
{ _id: req.params.id }, // id
{ $set: profileFields }, //更新对象
{ new: true } // 是否新的
).then(profile => {
if (profile) {
return res.status(200).json({
code: 0,
msg: '信息修改成功',
data: profile
});
}
res.status(200).json({
code: 1,
msg: '修改失败!, 修改的对象不存在!'
})
}).catch(err => {
res.status(400).json({
code: 1,
msg: '修改失败!, 请具体查看 errMsg',
errMsg: err.message
})
})
});
// $route delete api/profiles/:id :id | delete 删除
// @desc 删除信息接口
// @access private
router.delete("/:id" || "/delete/:id", passport.authenticate('jwt', { session: false }), (req, res) => {
Profile.findOneAndRemove(
{ _id: req.params.id },
).then(profile => {
// profile.save().then(profile => res.json(profile)); // 没什么用, 如果save空对象,直接报下面的错误
if (profile) {
res.status(200).json({
code: 0,
msg: '信息删除成功',
data: profile
})
}
res.status(200).json({
code: 1,
msg: '删除的对象不存在',
})
}).catch(err => {
res.status(400).json({
code: 1,
msg: '删除失败!, 请具体查看 errMsg',
errMsg: err.message
})
})
});
// $route delete api/profiles/ delete 删除多个 可能这个接口会有问题.
// @desc 删除多个信息接口
// @access private
router.delete("/", passport.authenticate('jwt', { session: false }), (req, res) => {
const params = req.body;
if (!params.ids) {
res.status(400).json({
code: 1,
msg: '无效的删除对象,请确认选择了对应的数据!'
})
}
Profile.remove({ _id: { $in: params.ids } })
// Profile.remove({ _id: { $in: params.ids } })
.then(m => {
if (m) {
res.status(200).json({
code: 0,
msg: '批量删除成功',
data: m
})
}
res.status(200).json({
code: 1,
msg: '删除的对象不存在',
})
})
.catch(err => {
res.status(400).json({
code: 1,
msg: '批量删除失败!, 请具体查看 errMsg',
errMsg: err.message
})
})
});
module.exports = router;
/**
{
cdoe: 0 成功
code:1 失败
code:2 数据 / 对象 / 字段已存在,或操作重复
code:3 数据未作任何更新 / 更改
code:110 登陆超时或者登陆失效,或者非法登陆用户
}
*/