Hapi 框架如何集成 Swagger 文档

阅读时长 6 分钟读完

Swagger 是一套定义 RESTful API 规范的工具,可以方便地生成 API 文档。在使用 Hapi 框架开发 RESTful API 时,如果能够集成 Swagger,将大大方便 API 使用者的调试和文档查看。本文将介绍如何在 Hapi 框架中集成 Swagger。

准备工作

在开始集成 Swagger 之前,我们需要完成以下几个准备工作:

  1. 安装 Hapi 框架及相关插件

其中,@hapi/inert@hapi/vision 是 Hapi 框架的基础插件,用于处理静态文件和视图。hapi-swagger 插件则用于集成 Swagger。

  1. 编写 API 接口

在本文中,我们将以 Hapi 官网上的一个示例为例:

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

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

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

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

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

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

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

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

-------
展开代码

我们定义了一个简单的 GET 请求 /hello,返回字符串 Hello World!

集成 Swagger

  1. 注册插件

首先,我们需要在 init 函数中注册插件:

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

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

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

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

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

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

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

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

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

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

-------
展开代码

其中,swaggerOptionshapi-swagger 插件的配置项,我们指定了 API 文档的标题和版本号。

插件注册完毕后,我们需要对每个 API route 进行配置,具体地,在 options 属性中指定以下内容:

  • tags - 标记 API 所属的标签,便于分类和过滤
  • description - 描述 API 的功能
  • notes - 提供 API 的更详细的信息
  • plugins - 配置 API 的响应信息,包括状态码和 schema 定义

需要注意的是,为了获取 Joi 对象,我们需要先导入 joi 模块:

  1. 访问 Swagger 文档

启动 Hapi 后,我们可以通过 http://localhost:3000/documentation 访问 Swagger 文档:

在右上角的搜索框中,输入 /hello,即可找到我们刚刚编写的 API:

在该页面,我们可以查看 API 的详细信息,包括请求和响应的 schema 定义、参数列表和返回值示例等。

总结

本文介绍了如何在 Hapi 框架中集成 Swagger 文档。通过集成 Swagger,我们可以方便地生成和查看 API 文档,使 API 的使用和调试变得更加简单。

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

纠错
反馈

纠错反馈