返回顶部
首页 > 资讯 > 数据库 >express学习笔记5 - 自定义路由异常处理中间件
  • 650
分享到

express学习笔记5 - 自定义路由异常处理中间件

express学习笔记 2023-09-16 14:09:54 650人浏览 安东尼
摘要

修改router/index.js,添加异常处理中间件 ** * 自定义路由异常处理中间件 * 注意两点: * 第一,方法的参数不能减少 * 第二,方法的必须放在路由最后 */router.use((err, req, res, next)

修改router/index.js,添加异常处理中间件
** * 自定义路由异常处理中间件 * 注意两点: * 第一,方法的参数不能减少 * 第二,方法的必须放在路由最后 */router.use((err, req, res, next) => {  console.log(err);  const msg = (err && err.message) || "系统错误";  const statusCode = (err.output && err.output.statusCode) || 500;  const errORMsg =    (err.output && err.output.payload && err.output.payload.error) ||    err.message;  res.status(statusCode).JSON({    code: CODE_ERROR,    msg,    error: statusCode,    errorMsg,  });});
完整代码
const express = require("express");const boom = require("boom");const { CODE_ERROR } = require("../utils/constant");// 注册路由const router = express.Router();router.get("/", function (req, res) {  res.send("让我们开始express之旅");});router.use((req, res, next) => {  // console.log(req,res)  next(boom.notFound("接口不存在"));});router.use((err, req, res, next) => {  console.log(err);  const msg = (err && err.message) || "系统错误";  const statusCode = (err.output && err.output.statusCode) || 500;  const errorMsg =    (err.output && err.output.payload && err.output.payload.error) ||    err.message;  res.status(statusCode).json({    code: CODE_ERROR,    msg,    error: statusCode,    errorMsg,  });});module.exports = router;
创建 utils/constant:(为了方便后期统一维护,单独拉出来定义)
module.exports = {  CODE_ERROR: -1}

然后刷新http://localhost:8000/user

 这就完成了

来源地址:https://blog.csdn.net/weixin_41013537/article/details/132041917

您可能感兴趣的文档:

--结束END--

本文标题: express学习笔记5 - 自定义路由异常处理中间件

本文链接: https://lsjlt.com/news/409962.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作