[英]How to intercept specific request
我正在使用NestJS
和Angular 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.