zoukankan      html  css  js  c++  java
  • node用express写后端restful接口实战五:向数据库插入文章promise和async/await两种写法、用postman测试接口插入数据到数据库

    这一节要实现的是,通过接口来实现新增数据。在 routes 新增一段代码

    一、新增定义死的数据

    router.post('/', async function (req, res, next) {
        var article = await models.Article.create({
            title: "猫猫狗狗",
            content: "小动物们的快乐"
        })
    
        res.json({article: article});
    });
    
    • 首先,要注意的是,这里使用的是 post 请求,而不是 get 请求了
    • 找到模型后,使用 create 方法,将数据插入进去。
    • 最后用 res.json 响应出刚插入的这条数据。

    二、使用 Promise 语法

    这里还是使用了 await 的写法,如果你偏向使用 Promise 语法,当然也是可以的。

    models.Article.create({
        title: "asdf",
        content: "asdfsadfsdf"
    }).then(article => {
        res.json({article: article});
    })
    

    最终效果肯定都是一模一样的。但大家对比下,肯定是 await 的写法要简洁好看的多。

    三、实际测试接口

    因为这是个 post 请求,咱们就不能再直接用浏览器访问了。因为浏览器直接访问地址的,都是 get 请求。所需要使用的工具是 Postman

    下载安装好后,请求方式改为 POST,地址栏填上接口的地址。最后点击 Send

    在这里插入图片描述

    一切运行正常,刷新数据库,果然能看到最新的这条记录了

    在这里插入图片描述

    用户提交数据

    现在的数据,还是一个写死的数据。如果用户想提交自己的数据,这个接口就不满足需求了。如何要获取到用户提交的数据呢?将 function 中的代码全部注释掉。添加一条

    router.post('/', async function (req, res, next) {
        res.json({'你发送的内容是': req.body});
    
        // var article = await models.Article.create({
        //     title: "afdssf",
        //     content: "asdfsadfsdfa"
        // })
        //
        // res.json({article: article});
    });
    

    这里的 req.body,就是用户使用 post 发送过来的内容。

    再次打开 Postman,点击 Body,选择 x-www-form-urlencodedkey 要填对应数据库里的字段名称,value 里填上你想插入数据库的数据。再次点击 send,发现提交的数据能正确的显示出来。

    postman 测试 post提交数据

    将用户的数据插入数据库

    这就说明,使用 req.body 可以正确的接受到用户发送的数据。现在只需要将这个接受到的数据,插入数据库,就搞定这个功能了。将代码改为

    router.post('/', async function (req, res, next) {
        var article = await models.Article.create(req.body);
        res.json({article: article});
    });
    

    插入真实数据

    再来提交一下,这样用户填写的数据,就插入到了数据库

  • 相关阅读:
    ios 数据类型转换 UIImage转换为NSData NSData转换为NSString
    iOS UI 12 block传值
    iOS UI 11 单例
    iOS UI 08 uitableview 自定义cell
    iOS UI 07 uitableviewi3
    iOS UI 07 uitableviewi2
    iOS UI 07 uitableview
    iOS UI 05 传值
    iOS UI 04 轨道和动画
    iOS UI 03 事件和手势
  • 原文地址:https://www.cnblogs.com/chenxi188/p/13841612.html
Copyright © 2011-2022 走看看