#typescript #graphql #nestjs #middleware
#машинописный текст #graphql #nestjs #промежуточное программное обеспечение
Вопрос:
Каков наилучший способ перехватить ответ перед отправкой его обратно в nestjs / graphql?
Я пытаюсь перехватить ответ на результат запроса, извлекая некоторые данные в context.extensions перед отправкой их обратно. Я пытался применить промежуточное программное обеспечение с помощью graphql-middleware, но это не работает.
это то, что я пытался сделать
export const Pagination: MiddlewareFn = async ({ info }, next) => {
// here i'm trying to extract the data
};
и вот где я пытаюсь это выразить (resolver.ts)
@UseMiddleware(Pagination)
findAll(options: PaginationInput): Promise<PaginatedReport> {
return applyPagination(this.reportRepository, options);
}
Ответ №1:
Почему бы не использовать перехватчик, который был создан специально для перехвата ответов до бизнес-логики и после бизнес-логики? На сайте docs есть несколько отличных примеров (ссылка выше).
Ответ №2:
Вы можете сделать это, внедрив перехватчики, вы также можете играть в контексте выполнения, вот полная документация об этих перехватчиках, если вам нужно больше контекста выполнения, вы можете посетить Контекст выполнения