npm 包 @benjd90/routing-controllers-openapi 使用教程

阅读时长 4 分钟读完

在前端开发中,我们常常需要使用到后端提供的 API 接口来获取数据。而在开发 API 时,使用 Swagger 等文档工具来生成 API 文档可以帮助开发者更快速地理解和使用接口。本文将介绍一个 npm 包 @benjd90/routing-controllers-openapi,它可以帮助我们将使用 routing-controllers 框架编写的接口自动生成 Swagger 文档。

安装

在项目根目录下运行以下命令来安装该 npm 包:

可以选择将该包添加到项目的 dependencies 中,也可以使用 -D 将其添加到 devDependencies 中。

使用

在使用前,我们需要先安装并配置好 routing-controllers 框架。在此基础上,我们可以通过以下方式使用 @benjd90/routing-controllers-openapi:

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

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

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

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

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

以上代码先定义了 routing-controllers 的配置,然后通过 routingControllersToSpec 方法将其转化为 Swagger 规范,最后在 /swagger.json 路径下输出该规范。

示例代码

为了更好地理解该 npm 包的使用方法,我们可以参考以下示例代码:

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

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

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

以上代码定义了一个 UserController,以 GET 方式获取所有用户信息。其中,我们使用了 @benjd90/routing-controllers-openapi 中的 ApiOperationGet 装饰器来标记该接口的 Swagger 文档信息。

总结

使用 @benjd90/routing-controllers-openapi 可以帮助我们更加方便、快捷地生成 routing-controllers 框架的 API 文档,并且可以通过 Swagger UI 界面查看和测试接口。该 npm 包的使用方式简单,但是具有较高的实用性和指导意义。

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

纠错
反馈