, Можешь мне помочь..?

ользовал пользовательские параметры запроса в Angular 4, где я делал следующее:

по умолчанию-Request-options.service.ts

@Injectable()
export class DefaultRequestOptions extends BaseRequestOptions {
  headers = new Headers({
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  });

  merge(options?: RequestOptionsArgs): RequestOptions {
    var newOptions = super.merge(options);
    const token: string = localStorage.getItem('token');
    if (token) {
      newOptions.headers.set('token', token);
    }
    return newOptions;
  }
}

App.Module.ts

providers: [ // expose our Services and Providers into Angular's dependency injection
    { provide: RequestOptions, useClass: DefaultRequestOptions }
  ]

Но после миграции обратите внимание, что RequestOption недоступен в новой папке http / common / http

Я хотел бы знать, могу ли я использовать подобное в Angular 5 или нет смысла использовать его с новым HTTPClient? Основным преимуществом для меня было установить только в одном месте, не добавляя его ко всем моим запросам.

Я получил код изначально в угловых документах:https://github.com/angular/angular.io/blob/master/public/docs/_examples/server-communication/ts/src/app/default-request-options.service.ts

Ответы на вопрос(1)

Решение Вопроса

Вы можете использоватьперехватчики добавить заголовки по умолчанию к вашим запросам. Пример из угловых документов:

import {Injectable} from '@angular/core';
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest} from '@angular/common/http';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  constructor(private auth: AuthService) {}

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    // Get the auth header from the service.
    const authHeader = this.auth.getAuthorizationHeader();
    // Clone the request to add the new header.
    const authReq = req.clone({headers: req.headers.set('Authorization', authHeader)});
    // Pass on the cloned request instead of the original request.
    return next.handle(authReq);
  }
}
 Vladyn15 янв. 2018 г., 15:08
Привет, я рефакторинг очень похожий сервис, но откуда вы получаете "AuthService"?
 Abner01 дек. 2017 г., 15:15
Похоже, перехватчики - это путь, именно то, что я искал, и многое другое. Tks
 ankita patel26 июн. 2018 г., 13:55
Привет, как я могу изменить значение "заголовки" для загрузки файла ..? Потому что при загрузке файла он также принимает Content-Type ',' application / json'` и я хочу добавитьmultipart/form-data, Можешь мне помочь..?

Ваш ответ на вопрос