Node.js+mysql+express开发接口服务

146 阅读1分钟

初始化npm仓库

npm init

image.png

目录结构(红框圈起来的部分可以忽略,我这里是用来做一些其它配置和备份数据用)

image.png

新建入口文件(index.js)

const express = require('express');
const app = express();
var bodyParser = require('body-parser');
// 创建application/x-www-form-urlencoded 编码解析
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// 禁用express304缓存
app.disable('etag');
// 下面是解决跨域请求问题
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-Headers', 'Content-Type');
    res.header('Access-Control-Allow-Headers', 'Authorization'); // 定义前端传token的字段(express-jwt固定的字段)
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header('Access-Control-Allow-Credentials', true);
    res.header("X-Powered-By", ' 3.2.1');
    res.header("Content-Type", "application/json;charset=utf-8");
    // res.header('Cache-Control', 'no-cache'); // 禁用缓存
    next();
});

// 注册接口路由(接口文件)
const Home = require('./server/home');
app.use('/api', Home);

// 开启服务
var server = app.listen(3001, '0.0.0.0', function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log("地址为 http://%s:%s", host, port);
});

编写接口服务(home.js)

const express = require('express');
const mysql = require('mysql');
const Home = express.Router();

// 连接数据库
const connection = mysql.createConnection({
  // host:'38.206.56.23', // 本地用(远程服务器地址)
  host: '127.0.0.1', // 上线用
  user:'root',
  password:'123456',
  database: 'apidata' // 连接的库
});
connection.connect();

// 删除用户
Home.delete('/deluser', (req, res) => {
  const sql = 'delete from user where id=' + req.body.id;
  connection.query(sql, (err, result) => {
    if (err) {
      res.json({
        code: err.code || 500,
        data: {},
        msg: err.message || '删除失败!'
      })
    } else {
      res.json({
        code: 200,
        data: {},
        msg: '删除成功!'
      })
    }
  })
})

module.exports = User