如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)

如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)

本教程手把手教你搭建一套使用 Node.js + Express + Sequelize + MySQL 构建的后端服务,详细描述通过 Node.js 与数据库通讯。整个服务搭建起来后,我们使用 Postman 对整个后端服务进行测试。本教程每段代码我都亲手测过,保证百分百没有错误,请打开你的 terminal 跟随本教程一起操作,从这里开始,成为一名后端工程师。

全栈实战教程:

后端实战教程:

如果你正在搭建后台管理工具,又不想处理前端问题,推荐使用,卡拉云是新一代低代码开发工具,可一键接入常见数据库及 API ,无需懂前端,仅需拖拽即可快速搭建属于你自己的后台管理工具,一周工作量缩减至一天,详见本文文末。

图片[1]-如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)-JieYingAI捷鹰AI

crud-er

后端部分:node.js + Express + Sequelize + MySQL后端部分 - node.js + Express + MySQL 后端部分

后端部分我们使用 node.js + Express + MySQL 的方式来构建。node.js 是一个开源跨平台运行环境,它让 JavaScript 可以运行在后端服务器上,Express 是 node.js Web app 框架,其底层是对 node.js 的 HTTP 模块封装,增加路由,中间件等特性,我们会在本教程中使用 Express 搭建 RESTful API ,让前后端通过 API 进行数据交换。最后是 MySQL 数据库,最终前后端操作的数据会存放在 MySQL 数据库中。

后端 node.js 项目结构

图片[2]-如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)-JieYingAI捷鹰AI

06-01-node

好了,整体的后端服务器架构介绍就到这里,接下来进入实践环节,请打开你的 Terminal 我们一起来。切记,只有亲手实践过,才能透彻理解。

安装 node.js

node.js 是一种 JavaScript 的运行环境,它可以让 JS 脱离浏览器在后端服务器上运行。本教程的后端环境使用 node.js 搭建。请先确认你的计算机中是否已安装 node.js 。如果尚未安装请前往 。

安装或准备可远程连接的 MySQL 数据库

本教程搭建的 app 数据存放在 MySQL 中,你可以在本机安装 MySQL ,也可以准备一台可远程连接的 MySQL 数据库。

如果你还没有安装 MySQL 数据库,可根据《如何安装 MySQL》教程安装 MySQL 数据库,或在腾讯云之类的云服务商购买现成的 MySQL 数据库。

准备好 node.js 和 MySQL 数据库后,咱们就开始搭建后端部分。

创建 node.js App

在根目录创建 node.js 的项目文件夹

代码语言:txt

复制

mkdir nodejs-express-sequelize-mysql-kalacloud
cd nodejs-express-sequelize-mysql-kalacloud

接下来配置后端的所有操作都在 nodejs-express-sequelize-mysql-kalacloud 这个文件夹中完成。

我们先来初始化 node.js,使用 npm init 配置 package.json 文件。package.json 定义了当前项目所需要的各种模块以及项目配置信息(包含当前项目所需的开发和运行环境等信息)。

图片[3]-如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)-JieYingAI捷鹰AI

06-02-node-init

代码语言:txt

复制

npm init
name: (nodejs-express-sequelize-mysql)
version: (1.0.0)
description: Node.js Rest Apis with Express, Sequelize , MySQL.
entry point: (index.js) server.js
test command:
git repository:
keywords: nodejs, express, sequelize, mysql, rest, api
author: kalacloud
license: (ISC)
Is this ok? (yes) yes

跟随 node.js 初始化程序填写相应的 app 初始化信息。

代码语言:txt

复制

{
  "name": "nodejs-mysql-kalacloud-com",
  "version": "1.0.0",
  "description": "Node.js Rest Apis with Express, Sequelize , MySQL.",
  "main": "server.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [
    "nodejs",
    "express",
    "sequelize",
    "mysql",
    "rest",
    "api"
  ],
  "author": "kalacloud",
  "license": "ISC"
}

初始化程序填写完成之后,npm 会自动帮你在根目录下生成package.json 配置文件。

接着我们来安装项目中需要用到的模块:express,sequelize,mysql2和body-parser。

在项目根目录 nodejs-express-sequelize-mysql-kalacloud 执行 npm 命令:

代码语言:txt

复制

npm install express sequelize mysql2 body-parser cors --save

配置 Express Web 服务器

在根目录中,创建一个新的 server.js 文件

文件位置:nodejs-express-sequelize-mysql-kalacloud/server.js

代码语言:txt

复制

const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
const app = express();
var corsOptions = {
  origin: "*"
};
app.use(cors(corsOptions));
// content-type:application/json
app.use(bodyParser.json());
// content-type:application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }));
// 简单路由
app.get("/", (req, res) => {
  res.json({ message: "欢迎访问卡拉云后端服务器" });
});
// 设置监听端口
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`服务器运行端口: ${PORT}.`);
});

图片[4]-如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)-JieYingAI捷鹰AI

06-03-node-server

好,现在我们在根目录运行指令:node server.js 启动后端服务器。

图片[5]-如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)-JieYingAI捷鹰AI

node-chrome

在浏览器中输入 :8080 ,你可以看到后端服务器欢迎信息,这表明我们的后端服务器已经启动。

使用 Sequelize 连接数据库

是一个基于 Promise 的 Node.js ORM,目前支持 Postgres、MySQL、SQLite 和 Microsoft SQL Server。 它是一个很成熟的框架,有很好的性能和速度。

我们先来配置 Sequelize ,在根目录新建 app 文件夹,然后再其中建一个 config 文件夹,我们把 Sequelize 的配置文件放在这里,新建 db.config.js 文件,在这个文件中写入你数据库连接的配置信息。

文件位置:nodejs-express-sequelize-mysql-kalacloud/app/config/db.config.js

代码语言:txt

复制

module.exports = {
  HOST: "192.168.1.5",
  USER: "kalacloud",
  PASSWORD: "YOUR_PASSWORD",
  DB: "demo",
  port:3306,
  dialect: "mysql",
  pool: {
    max: 5,
    min: 0,
    acquire: 30000,
    idle: 10000
  }
};

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享