使用Node.js+Express开发简单接口

Node.js 和 Express 是非常流行的组合,用于开发快速、高效的 web 服务器和 API。下面是一个基础教程,介绍如何使用 Node.js 和 Express 开发一个简单的 API。

1. 安装 Node.js 和 npm

首先,确保您已经安装了 Node.js 和 npm(Node Package Manager)。可以通过以下命令检查是否已安装:

node -v
npm -v

如果没有安装,请前往 Node.js 官网 下载并安装最新版本。

2. 创建项目目录并初始化

创建一个新的项目目录并初始化一个新的 npm 项目:

mkdir my-api
cd my-api
npm init -y

这将在您的项目目录中创建一个 package.json 文件。

3. 安装 Express

接下来,安装 Express:

npm install express
4. 创建基础服务器

在项目根目录下创建一个 index.js 文件,并添加以下代码以设置一个基本的 Express 服务器:

// 导入express
const express = require('express');
const app = express();
const host = '127.0.0.1';
const port = 3000; // 端口号
// 导入 cors 中间件,并注册,处理跨域问题
const cors = require('cors')
app.use(cors())

const itemRoutes = require('./routes/index'); // 引入接口路由
app.use(express.json()); // 为了处理 JSON 数据,我们需要添加 Express 内置的 express.json() 中间件
app.use('/items', itemRoutes);


// 启动服务器
app.listen(port, () => {
    console.log(`Server is running at http://${host}:${port}`);
});

为了防止跨域可以安装一下插件:

npm install cors
6. 创建简单的 RESTful API

我们将创建一个简单的 CRUD(Create, Read, Update, Delete)API 来管理一些示例数据。首先,定义一些示例数据:

创建控制器:在根目录创建 controllers 文件夹及 index.js 文件:

// controllers/index.js

let items = [
    { id: 1, name: 'Item 1' },
    { id: 2, name: 'Item 2' },
    { id: 3, name: 'Item 3' },
];

// 获取所有项目
exports.getItems = (req, res) => {
    res.json(items);
};

// 获取单个项目
exports.getItem = (req, res) => {
    const item = items.find(i => i.id === parseInt(req.params.id));
    if (!item) return res.status(404).send('Item not found.');
    res.json(item);
};

// 创建新项目
exports.createItem = (req, res) => {
    const newItem = {
        id: items.length + 1,
        name: req.body.name
    };
    items.push(newItem);
    res.status(201).json(newItem);
};

// 更新项目
exports.updateItem = (req, res) => {
    const item = items.find(i => i.id === parseInt(req.params.id));
    if (!item) return res.status(404).send('Item not found.');
    item.name = req.body.name;
    res.json(item);
};

// 删除项目
exports.deleteItem = (req, res) => {
    const itemIndex = items.findIndex(i => i.id === parseInt(req.params.id));
    if (itemIndex === -1) return res.status(404).send('Item not found.');
    items.splice(itemIndex, 1);
    res.status(204).send();
};

创建路由:在根目录创建 routes 文件夹及 index.js 文件:

// routes/index.js

const express = require('express');
const router = express.Router();
const itemController = require('../controllers/index');

router.get('/', itemController.getItems);
router.get('/:id', itemController.getItem);
router.post('/', itemController.createItem);
router.put('/:id', itemController.updateItem);
router.delete('/:id', itemController.deleteItem);

module.exports = router;

创建模型:在根目录创建 models 文件夹及 index.js 文件(此示例中不需要模型文件,通常在使用数据库时才需要)

说明:

控制器:负责具体的业务逻辑处理。这里 itemController.js 包含了对 items 数组的 CRUD 操作。
路由:负责定义应用的路由。 itemRoutes.js 中定义了对应的 URL 路径和 HTTP 动词(如 GET、POST 等),并将这些路由映射到控制器的方法。
主服务器文件: index.js 是应用的入口文件,设置中间件和基础路由,并启动服务器。

接口调用:http://127.0.0.1:3000/items

即可获取数据如下:

[
  {
    "id": 1,
    "name": "Item 1"
  },
  {
    "id": 2,
    "name": "Item 2"
  },
  {
    "id": 3,
    "name": "Item 3"
  }
]

接口调用:http://127.0.0.1:3000/items/1

即可获取数据如下:

{
  "id": 1,
  "name": "Item 1"
}

至此完成!!!

测试有效!!!感谢支持!!!

相关推荐

  1. 使用Node.js+Express开发简单接口

    2024-06-14 05:38:03       35 阅读
  2. 使用Python国产API框架开发REST接口

    2024-06-14 05:38:03       44 阅读
  3. 基于SpringBoot使用AOP开发接口的访问日志信息

    2024-06-14 05:38:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-14 05:38:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-14 05:38:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-14 05:38:03       82 阅读
  4. Python语言-面向对象

    2024-06-14 05:38:03       91 阅读

热门阅读

  1. 【零基础开始学习Linux】

    2024-06-14 05:38:03       28 阅读
  2. 未来的5-10年,哪些行业可能会被AI代替?

    2024-06-14 05:38:03       36 阅读
  3. SPOOL

    2024-06-14 05:38:03       27 阅读