当前位置: 首页 > news >正文

使用 Express 写接口

在现代 Web 开发中,构建高效的 RESTful API 是非常重要的。Node.js 和其上的 Express 框架为开发者提供了一种简便而强大的方式来创建这些接口。本文将详细介绍如何使用 Express 来编写和部署一个简单的 RESTful API,涵盖从安装到实现增删改查(CRUD)操作的全过程。

准备工作

安装 Node.js 和 npm

首先确保你的开发环境中已安装了 Node.js 和 npm。你可以通过以下命令检查是否已经安装:

node -v
npm -v

如果没有安装,请访问 Node.js 官网下载并安装适合你操作系统的版本。

创建项目

接下来,创建一个新的项目目录,并初始化一个新的 npm 项目:

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

这会生成一个 package.json 文件,记录项目的依赖信息等。

安装 Express

现在可以安装 Express 到你的项目中了:

npm install express --save

同时建议安装 Nodemon,它可以在代码更改时自动重启服务器,非常适合开发阶段使用:

npm install nodemon --save-dev

更新 package.json 中的启动脚本,以便使用 Nodemon:

"scripts": {"start": "nodemon app.js"
}

编写第一个 API 接口

创建一个名为 app.js 的文件,并添加以下代码来设置一个基本的 Express 应用程序:

const express = require('express');
const app = express();
const port = process.env.PORT || 3000;// 解析 JSON 请求体
app.use(express.json());// 示例数据
let items = [{ id: 1, name: 'Item One' },{ id: 2, name: 'Item Two' }
];// 获取所有项
app.get('/items', (req, res) => {res.json(items);
});// 根据 ID 获取单个项
app.get('/items/:id', (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);
});// 添加新项
app.post('/items', (req, res) => {const item = {id: items.length + 1,name: req.body.name};items.push(item);res.status(201).json(item);
});// 更新项
app.put('/items/:id', (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);
});// 删除项
app.delete('/items/:id', (req, res) => {const index = items.findIndex(i => i.id === parseInt(req.params.id));if (index === -1) return res.status(404).send('Item not found.');items.splice(index, 1);res.sendStatus(204);
});// 启动服务器
app.listen(port, () => console.log(`Server running on port ${port}`));

这段代码实现了对 /items 路径下的 CRUD 操作。

测试 API

使用 Postman 或 Curl

你可以使用 Postman 这样的工具来测试你的 API,或者直接在终端中使用 curl 命令进行测试。

例如,添加一个新的项目:

curl -X POST http://localhost:3000/items -H "Content-Type: application/json" -d '{"name":"New Item"}'

获取所有项目:

curl http://localhost:3000/items

使用 JavaScript 测试

也可以在同一个项目里新建一个测试文件,比如 test.js,利用 Axios 或 Fetch API 来测试你的接口。

const axios = require('axios');async function testApi() {try {// 添加新项let response = await axios.post('http://localhost:3000/items', { name: 'Test Item' });console.log(response.data);// 获取所有项response = await axios.get('http://localhost:3000/items');console.log(response.data);} catch (error) {console.error(error);}
}testApi();

结语

感谢您的阅读!如果您对使用 Express 编写接口或者其他相关话题有任何疑问或见解,欢迎继续探讨。


http://www.mrgr.cn/news/90459.html

相关文章:

  • Windows 11 切换应用时,输入法自动切换成英文解决方法
  • 前端实现在PDF上添加标注(1)
  • Xcode证书密钥导入
  • 人工智能学习(七)之神经网络
  • Leetcode1728:猫和老鼠 II
  • Golang GORM系列:GORM CRUM操作实战
  • 自己部署DeepSeek 助力 Vue 开发:打造丝滑的标签页(Tabs)
  • 通过钉钉创建个人AI助理:无需官网即可使用DeepSeek满血版全攻略
  • [极客大挑战 2019]PHP
  • 【竞技宝】LOL-LPL:EDG3-0零封LNG
  • 图神经网络怎么和LLM结合
  • 前端如何判断浏览器 AdBlock/AdBlock Plus(最新版)广告屏蔽插件已开启拦截
  • 使用EVE-NG-锐捷实现ACL访问控制
  • C++ 设计模式-桥接模式
  • QML的属性绑定
  • 【第三节】CMake 的构建流程
  • 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的折叠面板(Accordion)
  • 如何在 GitHub 上写博客
  • Open Liberty使用指南及微服务开发示例(六)
  • 《Python百炼成仙》11-20章(不定时跟新)
  • 在Windows 7操作系统,基于llama.cpp本地化部署 deepseek-r1模型的方法 2025-02-08
  • 如何在 Linux 中管理自定义脚本:将 ~/bin 目录添加到 $PATH
  • 301.华为交换机堆叠技术基础
  • 前端快速生成接口方法
  • 消息队列学习
  • Python查询成交量较前5天平均值