介绍
@hapi/boom 是一个 HTTP 错误响应库,可以用于 Node.js 上的 web 应用程序。它是由 HapiJS 团队创建的,可以在应用程序中轻松地处理 HTTP 错误响应。
响应状态码 400, 401, 403, 404, 405, 500 和 503 在 @hapi/boom 中有相应的实现。您只需要调用需要的方法即可,不需要手动设置每个错误响应的状态码。
安装
可以通过 npm 安装 @hapi/boom。
npm install @hapi/boom
使用方法
以下是一个示例应用程序:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ---- - ---------------------- ----- ------ - --- -------------- ------------------- ----- ------------ ----- ---- --- -------------- ------- ------ ----- ---- -------- -------- --------- ------ - ------------------------------ ------------ - --- --------------------- -- - ------------------- ------- ----- ----------------- ---展开代码
在上述示例代码中,我们首先导入了 Hapi 和 Boom 模块。然后,我们创建了一个 Hapi 服务器并定义了一个路由。当请求该路由时,我们将返回一个 HTTP 状态码为 400 的错误响应。
Boom 方法
以下是 @hapi/boom 提供的方法:
badRequest
用于生成 HTTP 状态码为 400 的错误响应。
Boom.badRequest('Invalid request.')
会返回以下 JSON 响应:
{ "statusCode": 400, "error": "Bad Request", "message": "Invalid request." }
unauthorized
用于生成 HTTP 状态码为 401 的错误响应。
Boom.unauthorized('Unauthorized access.');
会返回以下 JSON 响应:
{ "statusCode": 401, "error": "Unauthorized", "message": "Unauthorized access." }
forbidden
用于生成 HTTP 状态码为 403 的错误响应。
Boom.forbidden('Access forbidden.');
会返回以下 JSON 响应:
{ "statusCode": 403, "error": "Forbidden", "message": "Access forbidden." }
notFound
用于生成 HTTP 状态码为 404 的错误响应。
Boom.notFound('Page not found.');
会返回以下 JSON 响应:
{ "statusCode": 404, "error": "Not Found", "message": "Page not found." }
methodNotAllowed
用于生成 HTTP 状态码为 405 的错误响应。
Boom.methodNotAllowed('Method not allowed.');
会返回以下 JSON 响应:
{ "statusCode": 405, "error": "Method Not Allowed", "message": "Method not allowed." }
internal
用于生成 HTTP 状态码为 500 的错误响应。
Boom.internal('Internal server error.');
会返回以下 JSON 响应:
{ "statusCode": 500, "error": "Internal Server Error", "message": "Internal server error." }
unavailable
用于生成 HTTP 状态码为 503 的错误响应。
Boom.unavailable('Service unavailable.');
会返回以下 JSON 响应:
{ "statusCode": 503, "error": "Service Unavailable", "message": "Service unavailable." }
总结
通过使用 @hapi/boom 包,我们可以轻松地生成各种 HTTP 错误响应。无需手动设置每个响应的状态码,简单地调用相应的方法即可。它为我们的应用程序提供了更好的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/90788