npm 包 hapi-swaggered-fork 使用教程

什么是 hapi-swaggered-fork?

hapi-swaggered-fork 是一个基于 hapi.js 框架的插件,它能够自动生成 Swagger 文档,并提供 Swagger UI 界面。hapi-swaggered-fork 可以让我们将我们的 API 文档的编写工作自动化,大大地提高了开发效率。

hapi-swaggered-fork 的安装

使用 hapi-swaggered-fork 很容易,只需要通过 npm 安装即可:

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

如何使用 hapi-swaggered-fork?

在使用 hapi-swaggered-fork 之前,我们需要先安装和配置 Swagger 文档的一个插件:hapi-swagger。可以通过以下命令进行安装:

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

安装完成后,我们需要在 hapi.js 项目中加载这两个插件:

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

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

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

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

-------

在以上代码中,我们首先通过 server.register 加载了所有需要的插件,其中:

  • HapiSwaggered 是 hapi-swaggered-fork 插件
  • HapiSwaggeredUI 是 hapi-swaggered-fork 提供的 Swagger UI 界面插件
  • InertVision 插件是用于支持 Swagger UI 界面的插件

在插件中,我们需要提供 HapiSwaggered 插件的一些必要配置,如 info 对象中的 titleversion

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

值得注意的是,我们在上面的代码中配置了如下参数:

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

这个参数的作用是禁用 Swagger UI 中的请求校验功能。因为如果启用此功能会导致 Swagger UI 中的所有请求都被拦截,所以我们设置此参数值为 null

最后,我们在项目中启动服务器,访问 /documentation 地址即可查看 Swagger UI 界面。

hapi-swaggered-fork 的使用示例

在上述代码中,我们已经完成了 hapi-swaggered-fork 的安装和配置,下面我们将使用 hapi-swaggered-fork 生成一个简单的 API 文档。我们将创建一个 /user/user/{id} 的路由,并将它们注册到 hapi.js 服务器中:

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

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

在以上代码中,我们定义了两个路由:

  1. /user:获取用户列表
  2. /user/{id}:获取单个用户信息

除了路由的处理函数外,我们还为每个路由定义了一些 Swagger 文档必要参数,比如:

  • tags:指定此路由所属的分组,可以在 Swagger UI 界面中控制显示与否
  • description:路由的描述文本
  • notes:路由说明

除此之外,我们还为 /user/{id} 路由定义了一个 validate 参数,用于校验请求参数。

最后,请注意这个示例只是 hapi-swaggered-fork 的极简用法,它还有许多功能和配置项可以探索。如果您想深入了解 hapi-swaggered-fork,请阅读官方文档。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6006726a3660cf7123b3677e


猜你喜欢

  • npm 包 @escapace/axios-rate-limit 使用教程

    在前端开发中,我们经常需要使用 Axios 来发送 HTTP 请求。而有些场景下,我们需要对请求的频率进行限制,以避免对服务器造成过大的负载。在这种情况下,我们可以使用 npm 包 @escapace...

    4 年前
  • npm 包 prolific.error 使用教程

    简介 在编写 JavaScript 应用程序过程中,我们可能会遇到很多错误。这些错误可以经常使 JavaScript 应用程序崩溃或导致不稳定的行为。为了解决这些问题,有时候我们需要使用一些错误处理的...

    4 年前
  • npm 包 zipcelx 使用教程

    在前端开发中,我们常常需要导出 Excel 表格,zipcelx 就是一个方便快捷的 npm 包,可以轻松地实现 Excel 表格的导出。 zipcelx 简介 zipcelx 是一个非常方便易用的 ...

    4 年前
  • npm包use-i18n使用教程

    随着全球化和国际化的发展,多语言网站和应用的需求日益增长。为了提高用户体验,我们需要在前端代码中支持多语言。使用npm包 use-i18n 可以轻松实现前端国际化。

    4 年前
  • npm 包 ngraph.subgraph 使用教程

    在前端开发过程中,我们通常需要对图进行操作和可视化。Ngraph 是一个用于构建图的 JavaScript 库,它的 ngraph.subgraph 包提供了一个简单易用的 API,用于在一个大型图中...

    4 年前
  • npm 包 rios 使用教程

    前言 由于现在的前端工作越来越复杂,很多时候需要依赖一些第三方库来进行开发。而 npm 作为全球最大的开源软件库,提供了数以百万计的开源模块供开发者使用。其中,rios 就是一款非常优秀的前端库,它可...

    4 年前
  • npm包promise-paralleled的使用教程

    在前端开发中,我们常常需要同时处理多个异步操作,例如请求多个数据接口或者上传多个文件等等。而使用Promise进行并行操作是一种比较常用的方法。但当我们需要同时执行多个Promise实例时,Promi...

    4 年前
  • npm 包 dexma-ui-components-fix 使用教程

    什么是 dexma-ui-components-fix? dexma-ui-components-fix 是一个前端 UI 组件库,包含了众多常用的 UI 组件,例如按钮、输入框、表单等等。

    4 年前
  • npm 包 eslint-plugin-fetch-options 使用教程

    在前端开发中,经常需要获取服务器端的数据或者进行数据的交互,而 fetch 方法是一个常用的进行网络请求的方法。然而,在使用 fetch 方法时,我们很容易遇到一些问题或者不规范的代码,比如请求中硬编...

    4 年前
  • npm 包 cordova-plugin-ionic-keyboard-fixed 使用教程

    在开发移动应用时,我们经常需要使用 Cordova 插件来扩展应用的功能。其中,cordova-plugin-ionic-keyboard-fixed 是一个很常用的插件,它用来解决 Ionic 应用...

    4 年前
  • npm 包 @manishkumawat/upload 使用教程

    简介 @manishkumawat/upload 是一个方便快捷的前端上传文件的 npm 包。它提供了良好的兼容性和用户体验,适用于各种类型的网站或应用。在此教程中,我们将教你如何使用 @manish...

    4 年前
  • npm 包 @chrysalis-api/hardware-dygma-raise 使用教程

    前言 随着计算机技术的发展,各种新的设备不断涌现。其中,机械键盘因其舒适、耐用等特点,受到很多开发人员的追捧。然而,许多机械键盘都是非常专业的设备,而这些专业设备的常规按键映射并不符合开发人员的需求。

    4 年前
  • npm 包 passing-through 使用教程

    前言 在前端开发过程中,我们经常会使用各种第三方库来快速构建我们自己的项目。但是这些库有时会有自己特有的接口或数据格式,或者可能会对我们的使用造成一些不便。这时我们就需要使用一个名为 passing-...

    4 年前
  • npm 包 filepk 使用教程

    前言 在前端开发过程中,我们经常需要进行文件上传、下载、压缩等操作。这时,我们会考虑使用一些第三方库来简化这个过程。而 npm 包 filepk,就是非常实用的一款文件处理工具。

    4 年前
  • npm 包 echarts-mapmaker 使用教程

    介绍 echarts-mapmaker 是一个基于 echarts 实现的简单且易用的地理信息可视化工具,可较为精细地实现资源分布、地区销量、地理热力图、散点图等数据展示,使用户能更形象清晰地看到数据...

    4 年前
  • npm 包 rehooks 使用教程

    rehooks 是一个专为 React Hooks 设计的 npm 包,它为 React Hooks 提供了一些有用的自定义钩子函数。在这篇文章中,我们将探索 rehooks 的使用方法,并使用示例代...

    4 年前
  • npm包vue-dawa-ie11使用教程

    本文主要介绍vue-dawa-ie11这个npm包的使用教程,帮助前端开发者在IE11浏览器中使用Vue框架的同时避免兼容性问题。 什么是vue-dawa-ie11 vue-dawa-ie11是一个V...

    4 年前
  • npm 包 @particular./import-moltin-to-algolia 使用教程

    简介 @particular./import-moltin-to-algolia 是一款方便快捷地将 Moltin 数据库中的数据导入到 Algolia 数据库的 npm 包。

    4 年前
  • npm 包 ng6-zorro 使用教程

    前言 ng6-zorro 是一个用于 Angular 6+ 应用的 UI 库,基于 Ant Design of Angular 实现。Ant Design of Angular 是 Ant Desig...

    4 年前
  • npm 包 umi-plugin-autodata 使用教程

    在 Web 开发中,我们经常需要从后端服务获取数据并将其展示到用户界面上。在传统的前端开发中,我们需要手动地处理数据获取和渲染,这样会带来很多重复的代码和工作量。为了解决这个问题,我们可以使用 umi...

    4 年前

相关推荐

    暂无文章