使用 Swagger 构建 RESTful API 文档

阅读时长 6 分钟读完

在开发 RESTful API 的过程中,生成文档可能是一项让人感到繁琐的任务。为了提高文档的质量和可读性,我们需要一个工具来实现这个目标。Swagger 就是这样一款能够自动生成 RESTful API 文档的工具。

什么是 Swagger?

Swagger 是一个开源工具集,用于创建、编写和部署 RESTful API 的文档。它提供了一组用于定义 API 的约定和规范,这些约定和规范可以使用 JSON 或 YAML 格式来描述 API。Swagger 的目标是为开发者和用户创造更好的 API 体验。

使用 Swagger 构建 API 文档

  1. 安装 Swagger

可以使用 npm 来安装 Swagger,命令如下所示:

  1. 创建新项目

创建一个新的项目,例如一个基于 Node.js 的 RESTful API 项目,在命令行中输入以下命令:

这将使用 Swagger 的默认配置文件创建一个新的项目目录,其中包含了 API 的基本结构和必要的依赖。

  1. 定义 API

接下来,我们需要使用 YAML 或 JSON 文件编写 API 文档。在项目文件夹中创建一个新文件,例如 api.yaml。在这个文件中,使用 Swagger 指定 API 的端点、参数、请求和响应格式等信息。

以下是一个基本的示例:

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

在这个示例中,我们定义了一个名为“/users”的端点,使用 GET 方法获取所有用户。我们还定义了响应格式为 JSON,并在响应中包含了一个 OK 和一个 Internal Server Error。

  1. 部署 API 文档

使用以下命令来启动 API 文档:

Swagger 将在 http://localhost:10010/ 上启动一个本地服务器,并自动创建一个交互式文档。

使用 Swagger UI

Swagger UI 是 Swagger 特有的 API 文档生成工具。它是一个跨平台(支持 PC 和移动设备)的网页应用,可以自动地根据 Swagger 规范显示和构建 API 文档。

要使用 Swagger UI,需要在 HTML 标记中插入一个 JavaScript 文件,并将 Yml 或 Json 格式的 Swagger 规范文件输入。

以下是 Swagger UI 的一些示例代码:

嵌入式 Swagger UI

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

在这个示例中,我们通过引用 Swagger UI 相关的 CSS 和 JavaScript 的源文件从而在我们的 HTML 中嵌入了一个 Swagger UI。

然后,我们定义了一个 JavaScript 变量(即 ui,用于后续的操作),通过以下方式设置其他配置选项:

  • url - Yml 或 Json 格式的 Swagger 规范文件的本地或远程 URI。
  • dom_id - Swagger UI 顶级 DOM 元素的 ID。
  • deepLinking - 是否启用深层链接(通过设置 URL 中的“#”符号来从 Swagger UI 中导航)。
  • presets - 在 Swagger UI 中启用的插件集。
  • plugins - 响应式显示,不同文档下载链接等插件的列表。
  • layout- 由 Webpack 生成的 Swagger UI 应用程序的布局将使用的布局的类型。

基于 Node.js 的 Swagger UI

在这个例子中,我们将生成的 Swagger 规范文件捆绑为一个 JSON 文件,并在 Node.js 中通过使用 Swagger UI Express 中间件来设置路由和 API 文档的位置。在 Node.js 应用程序的根目录中设置一个API 文档,可以通过 npm startlocalhost:3000 访问。

总结

Swagger 是一个非常好用的 API 文档生成工具。它广泛支持成熟的 API 标准解决方案,而且非常易于使用。通过使用 Swagger,开发者可以轻松地编写出高质量、可读性高的 RESTful API 文档,以及在 API 文档的自动生成和展示方面获益。

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

纠错
反馈