npm 包 loopback-swagger 使用教程

阅读时长 5 分钟读完

简介

loopback-swagger 是一个用于为 LoopBack 应用程序自动生成 Swagger 规范的 npm 包。Swagger 是一种 API 规范,它提供了一种描述 RESTful API 的标准格式。使用 Swagger 可以自动生成 API 文档,并且可以通过 Swagger UI 进行交互式测试。

安装

在安装 loopback-swagger 之前,需要确保你已经安装了 Node.js 和 LoopBack CLI。安装命令如下:

安装 loopback-swagger 的命令如下:

配置

要使用 loopback-swagger,需要在 server/config.json 文件中添加 swagger 属性。该属性包含以下属性:

  • "swagger": "2.0":Swagger 规范的版本号
  • "info":API 的元数据,如标题、版本号和描述
  • "basePath":API 的根路径
  • "schemes":使用的协议(HTTP 或 HTTPS)
  • "securityDefinitions":用于保护 API 的安全定义
  • "security":API 的安全配置

例如:

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

自动生成 Swagger 规范

要自动生成 Swagger 规范,只需要在命令行中运行以下命令:

此命令将创建一个 swagger 目录,并在其中生成一个 swagger.json 文件。该文件包含 LoopBack 应用程序的 Swagger 规范。

使用 Swagger UI 进行交互式测试

Swagger UI 是一个可以根据 Swagger 规范自动生成 API 文档和交互式测试界面的工具。要使用 Swagger UI,只需安装它并将其配置到 LoopBack 应用程序中即可。

  1. 安装 Swagger UI

    在命令行中运行以下命令:

  2. 将 Swagger UI 添加到 LoopBack 应用程序中

    在 server/middleware.json 文件中添加以下代码:

    上述代码中,"mountPath" 是 Swagger UI 的挂载路径,"swaggerFile" 是 Swagger 规范的路径。

  3. 启动应用程序并访问 Swagger UI

    在命令行中运行以下命令启动应用程序:

    然后,在浏览器中打开以下 URL:

    此时,你将看到自动生成的 API 文档和交互式测试界面。

示例代码

以下是一个简单的 LoopBack 应用程序,其中包含一个名为 "book" 的模型。该应用程序使用 loopback-swagger 自动生成 Swagger 规范,并使用 Swagger UI 进行交互式测试。

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

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

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

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

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

- ----------------------------------------------------------- --------
----------------------------------------------------------------------------------
纠错
反馈