npm 包 hapi-arc 使用教程

阅读时长 9 分钟读完

简介

hapi-arc 是一款基于 hapi.js 的轻量级框架,可快速构建 RESTful API 接口。它使用 Arc 架构模式,将业务逻辑与控制器分离,可以大大提高代码的可维护性和可扩展性。此外,它还内置了常用的插件和中间件,如 Swagger 和 CORS,可以方便地进行 API 文档生成和跨域资源共享等操作。

安装

使用 npm 可以方便地安装 hapi-arc:

快速上手

在你的项目中引入 hapi-arc 而不是 hapi.js:

接着,添加路由和控制器:

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

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

在控制器中,你可以访问请求参数、头信息和 payload 数据等:

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

你还可以使用插件和中间件来扩展 hapi-arc 的功能:

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

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

        -
    -
---

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

高级功能

hapi-arc 内置了许多高级功能,包括:

Arc 架构模式

Arc 架构模式将业务逻辑和控制器分离,可以使代码更加易读、易于维护和测试。控制器只负责解析和验证请求,不包含任何业务逻辑。而业务逻辑则被独立抽离到 service 层和 model 层中,以实现代码的高内聚、低耦合。

Swagger

hapi-arc 使用 hapi-swagger 插件集成了 Swagger UI,可以方便地生成 API 文档。只需在控制器中添加相关的注释即可:

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

CORS

hapi-arc 使用 hapi-cors 插件实现了 CORS 支持,可以方便地进行跨域资源共享操作。只需在启动服务器时添加相关配置即可:

JWT 身份验证

hapi-arc 使用 hapi-auth-jwt2 插件实现了 JWT 身份验证,可以方便地对 API 请求进行权限验证。只需在路由中添加 authentication 属性即可:

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

数据库集成

hapi-arc 并没有对数据库进行集成,但是它可以方便地与各种类型的数据库进行集成。只需编写相应的 model 层代码即可:

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

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

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

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

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

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

然后在控制器中使用它:

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

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

总结

hapi-arc 是一款强大、易用的 RESTful API 框架,它使用 Arc 架构模式、内置常用的插件和中间件,可以快速构建高可维护、高可扩展的 API 接口。在实现 API 接口时,我们应该尽可能地使用 hapi-arc 并配合其它实用的工具和技术,以提高我们的工作效率和质量。

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

纠错
反馈