使用 Hapi 框架建立 REST API

在前端开发中,构建 REST API 能为后端开发与前端视图之间提供接口,极大地提高了应用的可扩展性和可维护性。Hapi 是一个采用 Node.js 编程语言的高度可扩展和灵活的 web 应用程序框架,它使开发者得以快速简便地构建 REST APIs 或任何 web 应用程序的服务器端。在这篇文章中,我们将探讨如何使用 Hapi 框架来构建 REST API。

安装 Hapi

在开始之前,您需要先安装 Hapi。您可以通过运行以下命令在您的项目中安装 Hapi。

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

建立 REST API

首先,让我们创建一个简单的 Hapi 应用程序,以便开始构建 REST API。在创建应用程序之前,让我们简要了解一下 Hapi 应用程序的组件。

什么是 Hapi 应用程序的组件?

  1. 服务器对象:Hapi 应用程序使用 Hapi.server(options) 来创建一个服务器对象。服务器对象用于处理 HTTP 连接、路由和响应等。

  2. 路由:路由用于将 URL 映射到对应的处理函数,并定义了响应类型、查询参数、负载验证和中间件等选项。

  3. 处理函数:处理函数包含了应用程序逻辑。Hapi 框架允许注册多个处理函数,每个处理函数都有相同的请求上下文对象和响应对象。

现在,让我们创建一个 Hapi 应用程序并添加一些路由。

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

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

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

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

在这个我们编写的应用程序中,我们定义了两个路由:一个根路由和一个动态路由。根路由用于显示一个简单的消息,而动态路由用于显示来自参数化 URL 的参数值。现在,我们可以通过访问 http://localhost:3000http://localhost:3000/{name} 来测试我们的应用程序。

使用插件

Hapi 框架支持许多插件,能够提供常见的功能,如身份验证、缓存、请求日志记录和数据验证等。让我们尝试使用 Hapi 的一个插件―― Joi,它用于数据验证。

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

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

在这个例子中,我们定义了一个新的路由来处理 POST 请求。我们使用 Joi 模块的验证规则来检查请求有效载荷中的 name 值,以确保它具有至少 3 个字符且不为空。如果符合条件,我们将返回一个欢迎消息,使用请求正文中的实际名称插入其中。如果请求的数据不符合验证规则,Hapi 将返回一个相应的错误响应。

添加数据库支持

大多数 web 应用程序需要访问数据库来存储和检索应用程序数据。让我们尝试使用 Hapi.js 与 MongoDB 数据库进行交互来保存数据。

将先安装 hapi-mongodb 插件来操作 MongoDB 数据库。

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

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

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

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

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

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

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

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

-------

在这个例子中,我们使用了 Hapi 插件 hapi-mongodb 来连接 MongoDB。我们定义了一个新的路由来处理 POST 请求,它使用数据库集合 users 来保存用户数据。在路由处理函数中,我们定义了一个新的用户对象,并将其插入到 users 集合中。如果保存成功,我们将返回插入文档。

结论

在这篇文章中,我们学习了如何使用 Hapi 框架来构建 REST API。我们寻求了解 Hapi 应用程序的组件、插件和数据库操作以及如何将它们集成到应用程序中。使用 Hapi 可以快速构建、维护和扩展 REST API 或任何 web 应用程序,可以是您日常开发的一大利器。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67024e52d91dce0dc8470c47