创建一个Api接口 我们需要Mysql数据库和 express对外提供数据
思路:
1.先在npm init -y 初始化一个package.json管理工具
在package.json中声明"type":"module"
2.安装第三方的依赖包
npm install express
npm install mysql2
3.创建基本的web服务器
import express from "express";
const app = express()
app.listen(80, () => {
console.log('server is running at http://127.0.0.1');
})
4.创建数据库操作模块
以我这个数据库为例
import mysql from 'mysql2'
const pool = mysql.createPool({
//这个host和port 一般都是固定的
host: '127.0.0.1',
port: 3306,
//下面这些 是这个host的port中的数据库名称和账号 密码
database: 'my_db_',
user: 'root',
password: 'admin123'
})
export default pool.promise()
//经过这样的操作我们就链接了本地的数据库
因为这个mysql所创建的是一个promise对象 因此 我们将这个promise 暴露出去
然后 就可以在此基础上 查数据了
5.操作一下数据库 将想要的拿出去的数据 给找到 用es6的语法 选择性暴露出去
import db from '../db/index.js'
export async function getAlluser(req, res) {
try {
const [rows] = await db.query('select * from users')
console.log(rows);
res.send({ status: 0, message: '获取用户列表数据成功', data: rows })
} catch (e) {
res.send({ status: 1, massage: '获取用户列表失败', desc: e.message })
}
}
这样 我们就将拿到的数据暴露出去了
6.创建路由调用 接收数据
import express from 'express';
import { getAlluser } from '../controller/user.ctrl.js'
const router = new express.Router()
router.get('/user', getAlluser)
export default router
7.重新在app.js中挂载数据
import express from "express";
import userRouter from '../Router/user_router.js'
const app = express()
app.use('/api', userRouter)
app.listen(80, () => {
console.log('server is running at http://127.0.0.1');
})
8.运行app.js 然后 在postman中测试