Javascript 如何拦截特定请求

Javascript 如何拦截特定请求,javascript,angular,typescript,nestjs,Javascript,Angular,Typescript,Nestjs,我使用的是NestJS和angular2,它们都有类似的(接近的)方法来处理拦截器。我想找到最佳实践,以确定一些具体的要求,做一些额外的工作 要声明拦截器谁将监听一些控制器(在NestJS中),我应该使用以下逻辑: @UseInterceptors(ObjectsInterceptor) @Controller('objects') export class ObjectsController { @Get() async findAll(): Promise<ObjectDto

我使用的是
NestJS
angular2
,它们都有类似的(接近的)方法来处理
拦截器。我想找到最佳实践,以确定一些具体的要求,做一些额外的工作

要声明
拦截器
谁将监听一些
控制器
(在
NestJS
中),我应该使用以下逻辑:

@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 
    ...
  }
}

也许我用了错误的方法来解决我的问题

只是把decorator放在方法之上而不是类之上

@Get()
@使用拦截器(ObjectsInterceptor)
异步findAll():承诺{
//应该拦截的请求
...
}

我几乎可以肯定,您可以将装饰程序置于要拦截的请求之上,而不是整个请求之上controller@MorKadosh没错,非常感谢!
@Injectable()
export class ObjectsInterceptor implements NestInterceptor {

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