笑丶日葵 2023-02-18 16:40 采纳率: 41.9%
浏览 203
已结题

node使用express框架怎么统一处理code、msg等返回值?

node使用express框架怎么统一处理code、msg等返回值?
处理成
{
code∶
msg:1
data:{}
}
前提是之前的接口已经写好了的,想复写进去,怎么搞?

  • 写回答

2条回答 默认 最新

  • CodeBytes 2023-02-18 16:48
    关注

    该回答引用ChatGPT
    在 Express 中可以使用中间件来实现统一处理 code、msg 等返回值的需求。可以编写一个中间件函数,在每个路由响应的时候都调用该函数进行处理。以下是实现该中间件的示例代码:

    
    // 统一返回值中间件
    const resultMiddleware = (req, res, next) => {
      // 重写 res.json 方法
      res.json = (data, code = 0, msg = 'success') => {
        res.send({
          code: code,
          msg: msg,
          data: data
        })
      }
      next()
    }
    
    // 在 app.js 中引入该中间件
    app.use(resultMiddleware)
    
    

    在这个中间件函数中,我们重写了 res.json 方法,将传入的参数重新组织成统一的格式返回。在每个路由的响应中,只需要调用 res.json 函数即可,参数分别为 data、code 和 msg。

    举个例子,如果我们要返回一段数据 { name: 'Tom', age: 18 },可以这样写:

    app.get('/api/user', (req, res) => {
      const data = { name: 'Tom', age: 18 }
      res.json(data)
    })
    
    

    这样返回的数据格式就是统一的,如下:

    
    {
      "code": 0,
      "msg": "success",
      "data": {
        "name": "Tom",
        "age": 18
      }
    }
    
    

    这种方式可以使接口返回值的格式更加规范,也可以减少代码的冗余。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月23日
  • 创建了问题 2月18日

悬赏问题

  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥15 Android Navigation: 某XDirections类不能自动生成
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费