Angular 6 - получить HTTP GET-запрос на инициализацию приложения - PullRequest
0 голосов
/ 29 декабря 2018

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

В частности, я хочу получить доступ к заголовкам HTTP-запроса, который вызывал приложение angular, из приложения angular.

Есть ли способ сделать это в Angular 6?

Спасибо

1 Ответ

0 голосов
/ 29 декабря 2018

Вы можете создать сервис, который перехватывает запрос, реализует интерфейс HttpInterceptor, вы можете сделать клон запроса и нажать то, что хотите, а затем вернуться.

@ Injectable () класс экспорта RequestInterceptor реализует HttpInterceptor {

constructor(private tokenService: TokenService) {}

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent 
    | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {

        if(this.tokenService.hasToken()) {
            const token = this.tokenService.getToken();
            req = req.clone({
                setHeaders: {
                    'x-access-token': token
                }
            });
        }
        return next.handle(req);
}

Не забудьте объявить службу в модуле:

поставщики: [{обеспечить: HTTP_INTERCEPTORS, useClass: RequestInterceptor, multi: true}]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...