diff --git a/src/core/interceptors/transform.interceptor.ts b/src/core/interceptors/transform.interceptor.ts index e46fe38..a5a8184 100644 --- a/src/core/interceptors/transform.interceptor.ts +++ b/src/core/interceptors/transform.interceptor.ts @@ -1,9 +1,18 @@ import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +export interface Response{ + data: T; +} @Injectable() -export class TransformInterceptor implements NestInterceptor { - intercept(context: ExecutionContext, next: CallHandler): Observable { - return next.handle(); +export class TransformInterceptor implements NestInterceptor> { + intercept(context: ExecutionContext, next: CallHandler): Observable> { + return next + .handle() + .pipe( + map(item => ({data: item})) // 这个map和js那个map貌似还是有点不一样,那边返回的是一个数组呀? + ); } } diff --git a/src/modules/posts/posts.controller.ts b/src/modules/posts/posts.controller.ts index 4622619..0f09f9b 100644 --- a/src/modules/posts/posts.controller.ts +++ b/src/modules/posts/posts.controller.ts @@ -5,6 +5,7 @@ import { DemoFilter } from '../../core/filters/demo.filter' import { DemoAuthGuard } from '../../core/guards/demo-auth.guard' import { Roles } from '../../core/decorators/roles.decorator' import { LoggingInterceptor } from '../../core/interceptors/logging.interceptor' +import { TransformInterceptor } from '../../core/interceptors/transform.interceptor' @Controller('posts') // @UseGuards(DemoAuthGuard) @@ -15,6 +16,7 @@ export class PostsController { constructor(private readonly demoService: DemoService) {} @Get() + @UseInterceptors(TransformInterceptor) index() { return this.demoService.findAll(); }