编写接口连接并查询数据库数据(二)

开发环境准备(一)

Postman

安装测试工具postman 不想下载软件的话可以用谷歌插件postman 这个东西是测试用的,不需要的可以不下载

mysql依赖
cnpm install mysql --save
连接数据库 router/user.js
var mysql=require('mysql');  //引入mysql
//数据库配置 
var db={
    mysql:{
        host:'localhost',  
        user:'****',  //数据库用户名
        password:'****',  //数据库密码
        database:'test',  //要链接的数据库
        port:3306  //默认端口
    }
}
var selAll='select * from list';  //先写个简单的查询语句
var pool=mysql.createPool(db.mysql)  //建立连接池
//改造下默认的get路由
router.get('/list', function(req, res, next) {
    pool.getConnection(function(err,suc){
        suc.query(selAll,[],function(err,res){
            console.log(res)
        })
    })
});
测试结果
npm start  //启动项目测试

打开postman输入请求地址

get请求与url

查看node打印的结果

数据库两条测试数据返回成功

到此,成功写了一个简单的get请求接口,你会发现postman发送请求后一直在等待状态,这是因为node没有对请求做出回应,数据库也未在链接后关闭,接下来吧这个结果进行返回

继续改造get路由
router.get('/list', function(req, res, next) {
    pool.getConnection(function(err,suc){
        suc.query(selAll,[],function(err,result){
            if(result){ //数据库有返回数据
                result={    //返回数据与格式
                    code:200,
                    msg:'获取测试列表成功',
                    data:result
                }
            }
            res.json(result);   //响应返回json数据
            suc.release();  //关闭数据库连接
        })
    })
});
测试结果

每次对node代码的修改都要重启node才能生效 如果觉得麻烦可以了解下Supervisor(自动重启) 还是用postman访问之前你的接口

成功拿到返回的json数据

接收post请求并查询需要的数据(三)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

一次linux服务器被黑客入侵后的处理

场景: 周一上班centos服务器ssh不可用,web和数据库等应用不响应。好在vnc可以登录 使用last命令查询,2号之前的登录信息已被清空,并且sshd文...

4029
来自专栏linux运维学习

linux学习第四十八篇:php-fpm的pool,php-fpm慢执行日志,定义open_basedir,php-fpm进程管理

php-fpm的pool Nginx可以配置多个虚拟主机,php-fpm同样也支持配置多个pool,每一个pool可以监听一个端口,也可以监听一个socket...

2055
来自专栏云计算教程系列

如何在Ubuntu上找到Redis日志

日志对于Redis安装的故障排除至关重要。你可能会问自己“我的Redis在哪里登录?” 或者“Redis在Ubuntu 14.04上存储日志文件的位置是什么?”

9893
来自专栏不想当开发的产品不是好测试

性能测试 -- 实际例子

1、环境申请搭建,压测机器的申请; 2、压测场景设计和思考; 3、压测脚本的编写和修改; 4、压测开始,调试,开始正式压测; 5、压测结果分析,定位问题,重新压...

2325
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶

前言 上一篇文章《Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建》简单的讲了一下SVN服务器的搭建,并没有详细的介绍配...

31810
来自专栏电光石火

如何让nginx显示文件夹目录

vi /etc/nginx/conf.d/default.conf

21410
来自专栏LIN_ZONE

ubuntu16.04中supervisor安装与简单使用(转载)

supervisor 可以将每个进程分别写成一个文件,supervisor 的进程文件放在 /etc/supervisor/conf.d/ 目录下,本例创建 t...

1114
来自专栏开源优测

AutoLine开源平台常见问题解答

答:AutoLine基于Python3开发,不兼容Python2,最低要求Python3.4版本

1022
来自专栏JavaEE

springboot项目打包&ngrok的使用

接触spring boot有一段时间了,但是一直未打包部署过spring boot项目,因为其内置tomcat,所以打包部署方式有所不同。还有ngrok,是一个...

882
来自专栏雨过天晴

原 荐 IntelliJ IDEA系列编辑器

3653

扫码关注云+社区

领取腾讯云代金券