1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ssssssss-team-magic-api

 / Детали:

Как можно переключиться между источниками данных для текущего запроса в интерцепторе без влияния на...

Предстоит сделать
Владелец
Создано  
06.03.2025

остальные запросы: Для реализации этой задачи вы можете использовать объект RequestOptions или аналогичный механизм конфигурации запроса внутри вашего интерцептора. Когда вы создаете новый запрос, вы можете переопределить свойство источника данных (data source) для этого конкретного запроса. Пример кода может выглядеть следующим образом: typescript import { HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http'; import { Observable } from 'rxjs'; export class DataSourceInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { // Получаем текущие опции запроса const currentOptions = req.clone(); // Создаем новые опции запроса с указанием нового источника данных const newDataSourceReq = req.clone({ headers: currentOptions.headers, body: currentOptions.body, url: currentOptions.url, params: currentOptions.params, observe: 'response', context: { ...currentOptions.context, dataSource: 'newDataSource' // Указываем новый источник данных } }); return next.handle(newDataSourceReq); } } Этот пример демонстрирует, как можно переопределить контекст запроса для использования нового источника данных, при этом не затрагивая другие параметры запроса. Таким образом, каждый запрос будет иметь возможность использовать свои уникальные источники данных, что позволяет избежать нежелательного воздействия на другие запросы.Обратите внимание, что этот пример является иллюстрацией и может требовать адаптации в зависимости от вашей конкретной реализации и используемых библиотек.

Укажите используемую версию (обязательно, иначе запрос не будет рассматриваться)

2.1.1

Как возникла эта проблема?

Необходимо перехватывать часть интерфейсов для динамического изменения источника данных, но перехватываемый источник данных является глобальным и влияет на последующие запросы.

Шаги воспроизведения (если есть, укажите полностью)

Как показано на рисунке ниже:
введите описание изображения здесь

Ошибочное сообщение

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/ssssssss-team-magic-api.git
git@api.gitlife.ru:oschina-mirror/ssssssss-team-magic-api.git
oschina-mirror
ssssssss-team-magic-api
ssssssss-team-magic-api