繁体   English   中英

如何拦截特定请求

[英]How to intercept specific request

我正在使用NestJSAngular 2 ,两者都有类似(接近)的方法来使用Interceptors 我想找到最佳实践来确定一些特定的请求来做一些额外的工作。

要声明将侦听一些Controller (在NestJS中)的Interceptor ,我应该使用以下逻辑:

@UseInterceptors(ObjectsInterceptor)
@Controller('objects')
export class ObjectsController {

  @Get()
  async findAll(): Promise<ObjectDto[]> {
    // Request which should be intercepted
    ...
  }

  @Get(':slug')
  async findOne(@Params('slug') slug: string): Promise<ObjectDto> {
    // Request which shouldn't be intercepted 
    ...
  }
}

Interceptor中:

@Injectable()
export class ObjectsInterceptor implements NestInterceptor {

  intercept(context: ExecutionContext, next: CallHandler<any>): Observable<any> {
    // Some logic to detect specific request
    return next.handle();
  }
}

可能我使用错误的方法来解决我的问题

只需将装饰器放在方法上方而不是 class

  @Get()
  @UseInterceptors(ObjectsInterceptor)
  async findAll(): Promise<ObjectDto[]> {
    // Request which should be intercepted
    ...
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM