使用Node.js和MySQL创建API服务器

本文介绍如何使用Node.js和MySQL创建API服务器的步骤,这也是从前端迈向全栈的一个开始。

步骤 1:设置项目基础

  1. 首先,确保开发环境中安装了Node.js和MySQL。

  2. 创建一个新目录作为项目文件夹,并进入这个目录。

    perl 复制代码
    mkdir my-api-server
    cd my-api-server
  3. 在项目目录中,运行npm init -y初始化Node.js项目并创建一个package.json文件,它将跟踪项目的依赖关系。

步骤 2:安装依赖

  1. 使用npm安装必要的包。最常用的Node.js框架是Express,它能够快速搭建API服务器。同时,需要一个MySQL客户端库来连接和操作数据库。

    复制代码
    npm install express mysql
  2. (可选)如果想要更方便地自动重启服务器,可以安装nodemon作为开发依赖。

    css 复制代码
    npm install nodemon --save-dev

步骤 3:搭建MySQL数据库

  1. 在MySQL数据库中,创建一个新的数据库和表格。

    sql 复制代码
    CREATE DATABASE mydb;
    
    USE mydb;
    
    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50),
        email VARCHAR(100)
    );

步骤 4:编写服务器代码

  1. 创建一个新文件index.js,作为主服务器文件。

    bash 复制代码
    touch index.js
  2. 在index.js中,导入所需的模块并设置Express服务器。

    javascript 复制代码
    const express = require('express');
    const mysql = require('mysql');
    
    const app = express();
    
    // 解析JSON请求体
    app.use(express.json());
    
    // 创建MySQL连接
    const connection = mysql.createConnection({
      host: 'localhost',
      user: 'your_username', // 替换为你的用户名
      password: 'your_password', // 替换为你的密码
      database: 'mydb'
    });
    
    // 在数据库连接上测试连接
    connection.connect(error => {
      if (error) throw error;
      console.log('Successfully connected to the database.');
    });
    
    // 定义一个API端点
    app.get('/users', (req, res) => {
      connection.query('SELECT * FROM users', (error, results) => {
        if (error) throw error;
        res.json(results);
      });
    });
    
    // 启动服务器
    const PORT = process.env.PORT || 3000;
    app.listen(PORT, () => {
      console.log(`Server running on port ${PORT}`);
    });

步骤 5:启动服务器

  1. 命令行中运行node index.js来启动服务器。

  2. (可选)如果使用了nodemon,可以把启动指令添加到package.json文件中的scripts部分。

    json 复制代码
    {
      "scripts": {
        "start": "node index.js",
        "dev": "nodemon index.js"
      }
    }

    然后通过npm命令来启动服务器:

    arduino 复制代码
    npm run dev

步骤 6:测试API

  1. 使用Postman或curl等工具来测试你的API服务器。

    bash 复制代码
    curl http://localhost:3000/users

这是最基础的例子,实际使用时可能需要添加更多的API端点、中间件、错误处理以及数据库操作等。记得不要将数据库的敏感信息(比如用户名和密码)直接硬编码在代码中,而应该使用环境变量或配置文件来管理。

相关推荐
Decay__10 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
凤凰院凶涛QAQ11 小时前
《MySQL内核拆解:从SQL到InnoDB》(四) : 联合查询 & 视图
数据库·sql·mysql
张小姐的猫11 小时前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
这个DBA有点耶15 小时前
信创场景下数据同步软件怎么选?对比开源CDC与原生闭环工具的结构性差异
数据库·mysql·架构
多客:duokelijie16 小时前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
FluxDB19 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
数据库小学妹19 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽20 小时前
mysql数据备份/恢复
数据库·mysql
这个DBA有点耶1 天前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构
Thanks_ks1 天前
MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock
数据库·mysql·innodb·mvcc·锁机制·事务隔离级别·间隙锁