简单用户管理系统(P-07)

数据信息接口

  • 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请求记得


14781769-dfaacab59610bed5.png
image.png

14781769-61136f7d16388175.png
image.png
  • 获取数据
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);
        })

});

14781769-05f5d4d32d97e1ea.png
image.png

14781769-9676501ecb0ced13.png
image.png

下面是所有的接口代码,但是多条信息删除,会有错误,这个待解决

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 登陆超时或者登陆失效,或者非法登陆用户
}
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值