express开发api指南--连接数据库
现在主流使用的一般是oracle、mysql和pgsql。此处采用pgsql。具体数据库下载、安装使用过程省略。需要可自行百度。
cnpm install --save pg-promise
在根目录下新建database文件夹,在database文件夹下新建db.js文件。编辑文件内容为:
var pgp = require("pg-promise")();
var db = pgp("postgres://postgres:mesadmin@192.168.x.x:5432/BW_WMS"); //格式为'postgres://username:password@host:port/database'
module.exports = { db };
3.1 测试数据库连接
修改routes下的index.js
//引入定义好的数据库连接
var { db } = require("../database/db");
//简单查询测试
router.get('/', function(req, res, next) {
var sql = `select * from t_msd_msl_2 where 1=1`; //t_msd_msl_2为我数据库里的表,可以自行建一张表去查询
db.result(sql)
.then((result) => {
res.send(result);
})
.catch((error) => {
res.send(error);
});
});
刷新页面查看效果。如果数据库连接正常,且表里有数据,则会显示查询返回结果.
{
"command": "select",
"rowCount": 13,
"oid": null,
"rows": [], //这里才是实际查出来的数据
...
...
...
}
3.2 定义统一返回格式
在根目录下新建util.js。内容如下:
//定义统一接口返回格式
var resultInfo = function (code, data, msg) {
code = code || 0;
data = data || [];
msg = msg || "";
//这边采用的是首字母大写,具体返回哪种格式可以自定义
var obj = {
Code: code,
Data: data,
Message: msg,
};
return obj;
};
module.exports = { resultInfo };
修改刚刚的index.js
//引入util.js
var { resultInfo } = require("../util");
//修改res.send里的内容
res.send(resultInfo(0, result.rows));
保存完刷新页面,发现这次返回的就像平常对接的接口返回格式了。
3.3 配置跨域
//安装依赖
cnpm install --save cors
//在app.js里引入
var cors = require("cors");
app.use(cors()); //跨域
浙公网安备 33010602011771号