使用node.js+mysql写后台接口
2022-11-30 本文已影响0人
欢宝吖_
当后端没有将接口写出来时,而前端有需要使用接口,就可以自己使用node.js+mysql写个简单的接口先用着。这篇文章就先不将node.js和mysql的安装,直接开始。
这篇文章是使用express框架和相关的三方模块,搭建一个具备登录的简单接口案例
1、创建文件夹,初始化
npm init -y

2、安装下载需要使用的包
cnpm i express mysql2 body-parser cookie-parser -S
包名 | 用处 |
---|---|
express | 创建web服务器 |
mysql2 | 连接数据库 |
body-parser | 处理post请求的查询参数 |
cookie-parser | 使用cookie |
- 不是所有包都需要下,express和mysql2比较重要,必下,其他的需要就下。

3、创建入口文件
关键代码:
const express = require('express')
const app = express()
app.listen(8888)

4、创建三方模块的文件夹
模块 | 作用 |
---|---|
Model | 处理数据库的数据 |
Controller | 处理业务逻辑 |
Router | 放置路由,导出使用 |
util | 处理其他文件(如连接数据库等) |

5、创建数据库,建表
- 1、进入数据库

- 2、建库、进库、建表

- 3、在Navicat中就可以看见刚刚创建的数据库(前提是Navicat已经连接过数据库了)

- 4、添加用户数据

6、连接数据库
const mysql = require("mysql2/promise");
exports.db = async(sql, arr) => {
const connection = await mysql.createConnection({
host: "localhost",
user: "root",
password: "123456",
database: "app",
});
const [data] = await connection.execute(sql, arr);
connection.end();
return data
}

7、在app.js文件中导入Router,并且挂载路由

8、在Model模块写数据库相关操作

9、在Controller模块写业务逻辑

10、在Router模块写放置路由

注意!在写三个模块的代码时,应该是同步进行,才能知道自己写的业务逻辑是否合理,是否能够正常实现需要实现的功能。
11、最后可以在postman中测试自己的接口是否有效
当然,在开发后台接口时,应该边写边测试。
- 成功的情况

- 用户名不存在的情况

- 密码错误的情况
