赞
踩
前文参考:
本文代码基于上一篇文章《NestJS入门6:日志中间件》
在user.controller.ts中加入以下语句
postman中测试如下:
nest g filter common/filter/http-exception
安装完成后在common/filter下增加两个文件
将http-exception.filter.ts
修改为:
- import { ArgumentsHost, Catch, ExceptionFilter, HttpException } from '@nestjs/common';
- import { Request, Response } from 'express';
-
- @Catch(HttpException)
- export class HttpExceptionFilter implements ExceptionFilter {
- catch(exception: HttpException, host: ArgumentsHost) {
-
- const ctx = host.switchToHttp();
- const response = ctx.getResponse<Response>();
- const request = ctx.getRequest<Request>();
- const status = exception.getStatus();
- const msg = exception.getResponse().toString();
-
- response
- .status(status)
- .json({
- statusCode: status, //HttpException的status
- timestamp: new Date().toISOString(), // 时间戳
- path: request.url, //调用路径
- message: msg, //错误说明
- });
-
- }
- }
增加以下一条语句
user.controller.ts依然是这个写法
使用Postman测试如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。