如何使用 Swagger UI 快速开发 RESTful API

阅读时长 4 分钟读完

RESTful API 是构建现代应用程序的核心组件之一,其提供了一种标准化的方式来访问和处理服务。然而,手动创建和测试每个 REST 终端点是一项繁琐且耗时的任务。为了减轻这些负担,我们可以使用 Swagger UI。

Swagger UI 是一个用于设计,构建和测试 RESTful API 的强大工具,它提供了一种交互式方式来探索和测试 API,可以轻松导出 API 规范文档,并快速构建出基本的 API。在本篇文章中,我们将介绍如何使用 Swagger UI 快速开发 RESTful API,希望对您的工作有所帮助。

1. 安装 Swagger UI

首先需要在本地安装 Swagger UI。可以从其官方文档中找到最新版本的下载链接

下载并解压文件后,可以直接在浏览器中打开其中的 index.html 文件即可进入 Swagger UI 界面。

2. 编写 API 规范

Swagger UI 界面中最重要的部分是 API 规范。API 规范是指 Swagger UI 能识别的,定义 API 端点和其它相关元数据的 JSON 或 YAML 文件。API 规范可以通过 Swagger Editor 编辑器或直接编写而来。

以下是一个包含一些API路由的 Swagger 规范 YAML 示范:

-- -------------------- ---- -------
-------- -----
-----
  ------ ------ ---
  ------------ ---- -- - ------ ------- ---
  -------- ---
----- --------------
--------- ----
--------
  - ----
  - -----
------
  -------
    ----
      -------- --- --- -----
      ------------ ---- ----- ------- - ---- -- --- -----
      ----------
        ----
          ------------ -------
      -----------
        - ----- -----
          --- -----
          ------------ --- ------- ------ -- ----- -- ------
          --------- -----
          ----- -------
  ------------
    ----
      -------- --- - ---- -- --
      ------------ ---- ----- ------- - ------ ---- -- --
      -----------
        - ----- --
          --- ----
          ------------ --- ------ --
          --------- ----
          ----- -------
      ----------
        ----
          ------------ -------

这个 YAML 规范定义了 /users/users/{id} 两个 API 端点。其中,/users 是一个 GET 端点,它返回所有用户的清单。而 /users/{id} 也是一个 GET 端点,它从 URL 提取 ID 并返回单个特定 ID 的用户。

3. 使用 Swagger UI 进行测试

在您成功编写好 API 规范后,您可以把它加载到 Swagger UI 中进行测试。

在浏览器中打开 Swagger UI 界面,然后将您的规范 JSON 或 YAML 文件中替换该 URL:

为:

这将会自动加载您的本地 API 规范文件。接着,您可以展开每个端点并填写测试数据,下图展示了 Swagger UI 界面中如何展开和测试 /users 端点。

总结:

在本篇文章中,我们学习了如何使用 Swagger UI 快速开发 RESTful API。通过易于导出和快速测试的干净,交互式用户界面,Swagger UI 可以帮助开发人员减轻自己的工作量。无论您是在创建全新的 API 还是在寻找一种更高效的测试现有规范的方法,Swagger UI 都是一种优秀的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649633e748841e9894316a11

纠错
反馈