快速用node.js写一个接口
1.目录结构:

2.安装相应的插件:
npm i body-parser express mysql
3.app.js代码
const express = require('express');
const app = express();
// 引入第三方插件
const bodyParser = require('body-parser');
// 引入自己写的API接口
const apiUser = require('./routers/user')
// 使用第三方插件
app.use(bodyParser.json()); // 当post请求时,里面的参数可以通过req.body()获取一个对象
app.use(bodyParser.urlencoded({ extended: false }));
// 使用API接口
app.use(apiUser);
app.listen(3000,()=>{
console.log("启动服务: http://127.0.0.1:3000")
});
4.sql/pool.js代码
var mysql = require('mysql'); // 配置信息 const options = { host : 'localhost', user : 'root', password : '123456', database : 'hp_my_blog', port : '3306', connectTimeout : 5000, // 连接超时时间 multipleStatements : false, // 是否允许一个query语句里面包含多条sql语句 connectionLimit : 100, // 链接数限制 queueLimit : 0, // 最大连接等待数(0为无限制) } // 连接数据库 var pool = mysql.createPool(options); // 监听当数据库失去连接的时候重新连接 pool.on('error',err=>{ console.log("数据库错误,重新连接中....."); err.code === 'PROTOCOL_CONNECTION_LOST' && setTimeout(reConnectPool); }); // 重连数据库 function reConnectPool() { pool = mysql.createPool(options); } // 重构查询 pool.hp_query = function(sql,callBack){ pool.getConnection((err,conn)=>{ conn.query(sql,(err,data)=>{ callBack(err,data); }) conn.release(); }); } module.exports = pool;
5.router/user.js
const epxress = require('express');
const pool = require('../sql/pool');
const router = epxress.Router();
router.get('/user',(res,req,next)=>{
pool.hp_query("select * from user",(err,data)=>{
if(err) next(err)
req.json(data);
})
})
// 当调用api出现错误时,统一到这里处理;
router.use((err,req,res,next)=>{
if(err) {
res.status(500).json(err);
}
})
module.exports = router;
查询效果


浙公网安备 33010602011771号