express+mysql接口开发

  1. 一、项目基础搭建
    1. 1.0 相关概念解读
    2. 1.1 创建项目
  2. 二、接口api开发
    1. 2.1 新建数据库及表
    2. 2.2 注册API
    3. 2.3 登录API

一、项目基础搭建

1.0 相关概念解读

  • dotenv
    • 作用:管理环境变量
      • 加载环境变量:把.env中的变量加载到process.env中,即可在代码中引用这些变量
      • 管理配置:在开发和生产环境中,使用不同的配置,确保敏感信息不暴露
      • 提升安全性:敏感信息不直接写在代码中,避免泄露。
  • express-validator
    • 作用:处理Express应用中的请求数据验证的库
      • 验证:确保请求参数满足指定条件
  • res.status(500).json({ code: 500, message: ‘服务器内部错误’ });
    • 设置http响应状态码为500
    • 返回一个JSON格式的数据

1.1 创建项目

  • 项目初始化
# 创建项目
npm init -y
# 安装核心依赖
npm install express mysql2 bcryptjs jsonwebtoken dotenv cors express-validator
  • 文件结构构建
project-api/
├── .env                   # 配置信息
├── server.js              # 主入口
├── config/
│   ├── db.js              # 数据库
├── controllers/
│   └── authController.js  # 业务逻辑 - 路由的处理函数
├── middleware/
│   ├── authMiddleware.js  # token认证中间件
│   └── validationMiddleware.js      # 参数验证中间件
├── routes/
│   ├── public/
│   │   └── authRoutes.js  # 不需要token的路由
│   └── protected/
│       └── userRoutes.js  # 需要token的路由
└── utils/
    └── response.js        # 响应返回值封装
  • 数据库设置脚本(在workbench执行操作)
-- 创建数据库
CREATE DATABASE IF NOT EXISTS auth_system;
USE auth_system;

-- 创建用户表
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(50) NOT NULL UNIQUE,
  password VARCHAR(255) NOT NULL,
  avatar TEXT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 创建索引
CREATE INDEX idx_username ON users(username);

二、接口api开发

2.1 新建数据库及表

2.2 注册API

2.3 登录API

×

喜欢就点赞,疼爱就打赏