config/mysql.json(數(shù)據(jù)庫配置)
{
"host":"localhost",
"port":"3306",
"user":"root",
"password":"root",
"database":"ycapi"
}
api/area.js(業(yè)務(wù)實現(xiàn)數(shù)據(jù)查詢)
//全局Express框架
const express = require('express');
const router = express.Router();
module.exports = router;
const app = express();
//加載配置文件
const config = require('../config/mysql');
const mysql = require('mysql');
const conn = mysql.createConnection(config);
//獲取數(shù)據(jù)(all方法支持post或get傳參方式)
router.all('/select', (req, res) => {
// 定義SQL語句
const id = req.body.id || req.query.id;
const sqlStr = 'select * from area ' + (id ? 'where id = ?' : "");
conn.query(sqlStr, id, (err, result) => {
if (err) return result.json({code: 404, data: '獲取失敗'})
res.json({
code: 0, data: result
})
});
});
api/user.js(業(yè)務(wù)實現(xiàn)數(shù)據(jù)查詢)
//全局Express框架
const express = require('express');
const router = express.Router();
module.exports = router;
const app = express();
//加載配置文件
const config = require('../config/mysql');
const mysql = require('mysql');
const conn = mysql.createConnection(config);
//獲取數(shù)據(jù)(all方法支持post或get傳參方式)
router.all('/select', (req, res) => {
// 定義SQL語句
const id = req.body.id || req.query.id;
const sqlStr = 'select * from user ' + (id ? 'where id = ?' : ""); //其實也就SQL語句不同其他都一樣
conn.query(sqlStr, id, (err, result) => {
if (err) return result.json({code: 404, data: '獲取失敗'})
res.json({
code: 0, data: result
})
});
});
main.js(入口文件,開啟80端口監(jiān)聽邢羔,實現(xiàn)RESTful風(fēng)格接口訪問)
const express = require('express');
const app = express();
app.listen(80, () => {
// 打印一下接口用例地址
console.log('http://127.0.0.1/user/select')
})
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}))
//設(shè)置跨域訪問
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
//加入前端需要訪問的接口API名稱
const user = require('./api/user');
const area = require('./api/area');
app.use('/user', user);
app.use('/area', area);
node main.js啟動項目峡碉,這樣訪問:
就可以查詢到數(shù)據(jù)返回的json結(jié)果了,同時也可以用POST或者GET方式傳參id