Hapi 是一个流行的 Node.js 服务器框架,具有高度可扩展性和灵活性。在本文中,我们将探讨如何创建和运行 Hapi 服务器,包括如何设置路由和处理程序,以及如何处理错误和请求验证。
安装 Hapi
首先,让我们安装 Hapi。使用以下命令可以安装最新版本的 Hapi:
npm install hapi
创建服务器
接下来,我们将创建一个简单的 Hapi 服务器,使其监听本地计算机的端口。我们将在 index.js
文件中创建服务器:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - ------------- ----- ----- ----- ----------- --- ----- -------- ------- - --- - ----- --------------- - ----- ----- - ------------------- ---------------- - ------------------- ------- ----- ----------------- - --------
这将创建一个监听本地计算机端口 3000
的 Hapi 服务器,并在成功启动后打印一条消息到控制台。
处理请求
接下来,让我们添加一个处理程序,当我们向服务器发送请求时,将显示一条消息。为此,我们需要定义一个路由,将请求的 URL 与处理程序联系起来。
server.route({ method: 'GET', path: '/hello', handler: function (request, h) { return 'Hello World!'; } });
在该路由中,我们指定当服务器收到 GET
请求并且 URL 路径为 /hello
时应该调用何种处理程序。在此示例中,我们返回了字符串 'Hello World!'
。
错误处理
在编写任何服务器应用程序时,经常需要在出现错误时进行适当的错误处理。在 Hapi 中,您可以使用 boom
模块来处理和返回错误。
-- -------------------- ---- ------- ----- ---- - ---------------- -------------- ------- ------ ----- --------- -------- -------- --------- -- - ------ ---------------------- --------- ---- --------- - ---
在上述例子中,我们返回了一个 HTTP 400
错误,该错误使用 boom
模块创建,并在响应体中包含了错误消息。
请求验证
最后,让我们展示如何使用 Hapi 的请求验证功能。请求验证允许您验证进入服务器的请求,并在请求未通过验证时拒绝它们。
-- -------------------- ---- ------- -------------- ------- ------- ----- --------- -------- - --------- - -------- - --------- ------------------------ --------- ----------------------- - - -- -------- -------- --------- -- - ------ --------- - - ------------------------ - ---- - ---
在上面的代码中,我们定义了一个路由,其中 Joi
模块用于定义请求体中的输入验证规则。在本例中,我们要求 username
和 password
参数都是必需的字符串。
结论
在本文中,我们已经学习了如何创建和运行 Hapi 服务器。我们了解了如何设置路由和处理程序,如何处理错误和请求验证。我们希望这篇文章对于正在研究 Hapi 的人们有所帮助,并且可以提供指导。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6753a3f78bd460d3ada681b0