如何创建带有JSON响应的简单REST API

作者:API传播员 · 2026-01-11 · 阅读时间:8分钟

APIs 是现代软件开发中不可或缺的工具,它们允许不同系统之间可靠地交互和交换数据。基于 HTTP 标准构建的 REST API 是开发人员创建实用且可维护的后端服务的首选方式,而 JSON 则因其简洁和结构化的格式成为数据交换的标准格式。在本文中,我们将学习如何使用 JSON 响应构建一个简单的 REST API,从项目设置到动态端点创建,帮助您快速掌握相关技能并提升开发效率


什么是 REST API?

REST(代表性状态转移)是一种基于 HTTP 协议的架构风格,允许开发者通过 HTTP 请求对资源执行 CRUD(创建、读取、更新、删除)操作。这些资源通常以 JSON 格式表示。

为什么选择 JSON?

JSON(JavaScript 对象表示法)因其简单性、可读性以及与多种语言和框架的兼容性而广受欢迎。它是一种轻量级的数据交换格式,能够在服务器和客户端之间高效传输数据。


先决条件

在开始构建 REST API 之前,请确保您具备以下工具和知识:

  • 基本编码经验:建议熟悉 JavaScript 或 Python,以便理解代码示例
  • 开发环境设置
    • Node.js:安装 Node.js 以运行服务器端代码。
    • Python(可选):如果更倾向于使用 Python,请确保安装了 Python 以及 Flask 框架。
  • 命令行界面:能够使用终端或命令提示符运行命令并管理项目。
  • 代码编辑器:推荐使用 Visual Studio Code、Sublime Text 或其他类似的 IDE。

这些准备工作将帮助您快速启动项目并避免不必要的延迟。


设置项目

在构建 REST API 之前,需要先完成项目的基本设置,包括创建项目目录、初始化配置以及安装必要的依赖项。以下分别介绍使用 Node.js 和 Python 的设置步骤。

使用 Node.js(Express 框架)

  1. 创建项目目录
    打开终端,为项目创建一个新文件夹:
   mkdir simple-rest-api
   cd simple-rest-api
  1. 初始化项目
    使用 npm 初始化项目:
   npm init -y

该命令会生成一个 package.json 文件,用于管理项目的元数据和依赖项。

  1. 安装 Express
    Express 是一个轻量级且灵活的 Node.js Web 应用框架,用于快速构建 API:
   npm install express

安装完成后,Express 会出现在 package.json 的依赖项中,方便后续管理和部署。

使用 Python(Flask 框架)

  1. 创建项目目录
    同样,为 Flask 项目创建一个新文件夹:
   mkdir simple-rest-api
   cd simple-rest-api
  1. 设置虚拟环境
    使用虚拟环境隔离项目依赖项:
   python -m venv venv

激活虚拟环境:

  • macOS/Linux:

     source venv/bin/activate
  • Windows:

     venvScriptsactivate
  1. 安装 Flask
    激活虚拟环境后,使用 pip 安装 Flask:
   pip install flask

无论选择 Node.js 还是 Python,以上步骤都为构建 REST API 提供了一个干净、有序的开发环境。


创建基本服务器

接下来,我们将创建一个简单的 Web 服务器,以验证项目设置是否正确。以下是使用 Node.js 和 Express 框架的示例代码。

示例代码:基本服务器

创建一个名为 server.js 的文件,并添加以下代码:

// 导入 Express 模块
const express = require('express');

// 初始化 Express 应用
const app = express();// 添加中间件以解析 JSON 请求体
app.use(express.json());// 定义端口号,优先使用环境变量中的 PORT,默认值为 3000const PORT = process.env.PORT || 3000;// 创建一个默认路由,返回简单的问候语
app.get('/', (req, res) => {
  res.send('Hello World from API!');
});// 启动服务器并监听指定端口
app.listen(PORT, () => {
  console.log(Server is running on port ${PORT});
});

代码解析

  • 导入 Express:通过 require('express') 引入框架。
  • 初始化应用:创建一个 Express 应用实例。
  • 定义端口:支持环境变量配置,便于生产环境部署。
  • 默认路由:通过 app.get() 定义根路径的 GET 请求,返回简单的文本响应。
  • 启动服务器:使用 app.listen() 方法启动服务器并监听指定端口。

定义简单的 API 端点

在基本服务器的基础上,我们可以添加一个返回 JSON 数据的 API 端点。以下是一个简单的示例:

示例代码:JSON 响应的 API 端点

将以下代码添加到 server.js 文件中:

// 定义一个返回 JSON 数据的 GET 路由
app.get('/api/greeting', (req, res) => {
  res.json({ message: 'Hello, from your API!' });
});

代码解析

  • 定义路由:通过 app.get() 方法定义 /api/greeting 路径。
  • 返回 JSON:使用 res.json() 方法返回 JSON 格式的响应,同时自动设置 Content-Typeapplication/json

添加动态路由

为了增强 API 的灵活性,可以创建带参数的动态路由。例如,返回包含用户 ID 的自定义消息。

示例代码:动态路由

将以下代码添加到 server.js 文件中:

// 定义一个带参数的动态路由
app.get('/api/user/:id', (req, res) => {
  const userId = req.params.id;
  res.json({
    userId: userId,
    message: User with ID ${userId} found.,
  });
});

代码解析

  • 动态参数:通过 :id 定义动态路由段,Express 会自动解析 URL 中的参数。
  • 访问参数:通过 req.params.id 获取动态参数的值。
  • 返回响应:返回包含动态参数的 JSON 数据。

测试 API

验证 API 是否正常工作是开发过程中的重要环节。以下是几种常用的测试方法

1. 使用浏览器

直接在浏览器中访问 API 端点,例如:

  • http://localhost:3000/api/greeting
  • http://localhost:3000/api/user/1

2. 使用命令行工具

  • cURL

    curl http://localhost:3000/api/greeting
  • HTTPie

    http http://localhost:3000/api/user/1

3. 使用 API 测试工具

推荐以下工具:

  • Postman
  • Insomnia
  • HTTPie

总结

本文详细介绍了如何使用 Node.js 和 Express 构建一个简单的 REST API,包括项目设置、基本服务器创建、定义静态和动态端点等内容。未来,您可以通过以下方式进一步优化 API:

  • 错误处理:添加全面的错误响应机制。
  • 身份验证:使用 JWT 等技术保护 API。
  • 数据验证:确保传入数据的完整性和安全性。
  • 性能优化:通过中间件和日志记录提升 API 的性能

通过不断实践和学习,您将能够构建更加健壮和高效的 REST API,为实际应用提供可靠的后端服务。

原文链接: https://blog.treblle.com/create-simple-rest-api-json/