相关疑难解决方法(0)

Nestjs日志响应数据对象

我想在NestJs中记录传入请求和传出响应。我从此处获取了Nest.js中的记录请求/响应信息以及docs NestJs Aspect Interception文档。

通过不使用外部软件包来实现此目标将是非常棒的,因此我非常希望使用本机的“嵌套”解决方案。

对于请求记录,我目前使用此代码

@Injectable()
export class RequestInterceptor implements NestInterceptor {
  private logger: Logger = new Logger(RequestInterceptor.name);

  intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
    const {
      originalUrl,
      method,
      params,
      query,
      body,
    } = context.switchToHttp().getRequest();

    this.logger.log({
      originalUrl,
      method,
      params,
      query,
      body,
    });

    return next.handle();
  }
}
Run Code Online (Sandbox Code Playgroud)

这将记录以下结果 GET /users

在此处输入图片说明

我还想记录传出的响应。目前,我使用此拦截器

@Injectable()
export class ResponseInterceptor implements NestInterceptor {
  private logger: Logger = new Logger(ResponseInterceptor.name);

  intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
    const { statusCode } = context.switchToHttp().getResponse();

    return next.handle().pipe( …
Run Code Online (Sandbox Code Playgroud)

javascript express typescript nestjs

5
推荐指数
1
解决办法
41
查看次数

标签 统计

express ×1

javascript ×1

nestjs ×1

typescript ×1