Nest.js 实战 (一):使用过滤器优雅地统一处理响应体

前言

在我们实际的业务开发中,我们可以看到后端接口返回格式都有一定的要求,假如我们统一规定接口的统一返回格式为:

{
   
  data: any; // 业务数据
  code: number; // 状态码
  msg: string; // 响应信息
  timestamp: number; // 时间戳
}

那么在 Nest.js 中,我们应该如何处理呢?

定义响应状态码枚举和类型

  1. src 目录中新建 /enums/index.ts 文件:
 /**
 * @description: 响应码
 */
 export enum RESPONSE_CODE {
   
   NOSUCCESS = -1, // 表示请求成功,但操作未成功
   SUCCESS = 200, // 请求成功
   BAD_REQUEST = 400, // 请求错误
   UNAUTHORIZED = 401, // 未授权
   FORBIDDEN = 403, // 禁止访问
   NOT_FOUND = 404, // 资源未找到
   INTERNAL_SERVER_ERROR = 500, // 服务器错误
 }

 /**
 * @description: 请求提示语
 */
 export enum RESPONSE_MSG {
   
   SUCCESS = '请求成功',
   FAILURE = '请求失败',
 }
  1. src 目录中新建 /typings/index.d.ts 文件:
declare namespace Api {
   
 namespace Common {
   
   /**
    * @description: 全局响应体
    */
   type Response<T = any> = {
   
     code: number; // 状态码
     data?: T; // 业务数据
     msg: string; // 响应信息
     timestamp: number; // 时间戳
   };
   /**
    * @description: 分页数据
    */
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白雾茫茫丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值