#javascript #express #nestjs
Вопрос:
Как я могу передать параметры отсюда
export class NotificationModule implements NestModule{
public configure(consumer: MiddlewareConsumer) {
consumer.apply(AuthMiddleware).forRoutes(
{path: 'notification/create', method: RequestMethod.POST},
И как я могу использовать переданные параметры здесь
@Injectable()
export class AuthMiddleware implements NestMiddleware {
constructor(private readonly studentService: StudentService) {
}
async use(req: Request, res: Response, next: NextFunction) {
????????
}
Ответ №1:
поскольку промежуточные ПРОГРАММЫ являются инъекционными, вы можете передавать параметры как любой другой поставщик, подобный этому, в котором параметры передаются в модуле здесь
или используйте create-nestjs-middleware-module
для превращения промежуточных программ в модули
или сделайте миксин, который вернет промежуточное программное обеспечение. Таким образом, вы передадите такие опции, как consumer.apply(CreateAuthMiddleware(opts))