当前位置: 首页 > news >正文

南昌做网站比较好的公司廊坊网站建设外包

南昌做网站比较好的公司,廊坊网站建设外包,可以免费进入的网站正能量域名,网站 文件夹结构需求 需要对接口的异常响应码,手动设置message文本!!! 例如:项目中使用multer中间件实现文件上传,multer设置了文件大小限制,该中间件校验文件时错误(文件超出)会自动响…

需求

需要对接口的异常响应码,手动设置message文本!!!

例如:项目中使用multer中间件实现文件上传,multer设置了文件大小限制,该中间件校验文件时错误(文件超出)会自动响应为:

status: 413
statusMessage: 'Playload Too Large' // 响应数据
{"message": "File too large","error": "Payload Too Large","statusCode": 413
}

但是我想自定义设置该message的文本,甚至是设置statusMessage文本

实现

通过局部异常过滤器实现

custom-exception.filter.ts

import {ArgumentsHost,Catch,ExceptionFilter,HttpException,HttpStatus,
} from '@nestjs/common';// 码对应消息
export class CodeMessage {code: number;message: string;constructor(code: number, message: string) {this.code = code;this.message = message;}
}@Catch()
export class CustomExceptionFilter implements ExceptionFilter {// 允许传入对象或者对象数组constructor(private readonly codeMessage: CodeMessage | CodeMessage[]) {}catch(exception: HttpException, host: ArgumentsHost) {const ctx = host.switchToHttp(); // 获取请求上下文// const request = ctx.getRequest(); // 获取请求上下文中的request对象const response = ctx.getResponse(); // 获取请求上下文中的response对象const status =exception instanceof HttpException? exception.getStatus(): HttpStatus.INTERNAL_SERVER_ERROR; // 获取异常状态码let code = 500; // 错误码let message = '服务器错误(Service Error)'; // 错误信息if (Array.isArray(this.codeMessage)) {// 处理数组for (let i = 0; i < this.codeMessage.length; i++) {const item = this.codeMessage[i];if (item.code === status) {code = item.code;message = item.message;}}} else if (Object.prototype.toString.call(this.codeMessage) === '[object Object]' &&this.codeMessage.code === status) {// 处理对象code = this.codeMessage.code;message = this.codeMessage.message;}// 设置返回的状态码, 请求头,发送错误信息response.setHeader('Content-Type', 'application/json; charset=gb2312');response.status(status);// response.statusMessage = message;	// 这里可以设置响应码说明文本, 但是不能设置中文// 响应数据response.send({message,code,// data: {},});}
}

使用

  @Post('test')@UseFilters(new CustomExceptionFilter({ code: 413, message: '文件大小错误' }))test() {throw new HttpException('模拟异常', 413);return 'OK';}
http://www.yayakq.cn/news/14562/

相关文章:

  • 金方时代做网站怎么样有效获客的六大渠道
  • 南庄网站开发清溪仿做网站
  • 企业网银登录seo优化团队
  • 外贸公司网站如何免费推广微信公众号怎么创建账号
  • 口碑好的丹阳网站建设网站访问者qq
  • 电商网站的支付模块怎么做网络工程师是干嘛的
  • 宁德网站建设51yunsouwordpress大图插件
  • 网站需要加wordpress想搞网站建设
  • 门户网站建设要多少钱中国著名十大vi设计案例
  • 一个简单的政务网站开发要多久网络营销策划案怎么写
  • 连锁公司网站源码江苏省招标投标信息网
  • 个人做电商网站赚钱吗网站运营需要 做哪些工作
  • 武进建设局网站首页网站建设阿胶膏的作用
  • 网站首页包括哪些内容东莞常平隐贤山庄门票多少
  • 百度网站建设是什么意思网站做网页
  • vs网站模态框怎么做企业网站建设联系电话
  • 邵东平台网站建设重庆网站搜索推广
  • 接私活做网站要不要签合同网站的维护方案
  • 做阿里云网站空间wordpress 首页评论
  • 06628 网页制作与网站开发搭建asp虚拟主机网站
  • 上海做兼职网站有吗搜索引擎是指什么
  • 怎样做网站认证做网站被骗首付款怎么报案
  • 域名注册网站便宜网站外包建设
  • 亚马逊跨境电商培训郑州seo顾问外包
  • 朝阳企业网站建设方案费用江苏自助建站平台
  • 网站可以自己备案吗win7 网站配置
  • 怎么建正规网站网站cms是什么
  • 南宁自助模板建站海口网站自助建站
  • 北京住房与城乡建设厅网站购物网站开发会遇到的的问题
  • 做网站找 汇搜网络wordpress 改邮箱