2017-12-19 5 views
1

나는 공식적인 업그레이드 가이드를 읽었으며 "HttpClient가 널리 채택하기 때문에 ..."라고 말합니다. 하지만이 HttpClient가 가져 오는 진정한 이점은 무엇입니까?이전 HTTP보다 Angular 5 HttpClient의 장점은 무엇입니까?

나는 그것을 밖으로 시도하는 것을 고려했지만, 내가 업그레이드 한 후이 일어날 필요가 모르는 절반 방법을 혼동있어 :에서 {, HTTP 헤더, RequestOptions ResponseContentType을}

수입 ' @ 각진/http ';

은 내가 찾으려고 "새로운 클라이언트의 일치 : 수입 {HttpClient를, HttpParams, HttpHeaders}에서를 '@ 각도/일반/HTTP'

하지만 그가 제대로 어떻게해야 아무 생각이 없다"업그레이드 "를 가이드로 그것에 대해 아무것도 말하지 않는다

그래서 두 번째 질문 -.?. 우리가 그 다른 HTTP의 일을 어떻게해야합니까

+1

아마도이 답변은 여전히 ​​적용됩니다. https://stackoverflow.com/questions/45129790/difference-between-http-and-httpclient-in-angular-4 –

+0

[4 번 각도에서 HTTP와 HTTPClient의 차이점? ] (https://stackoverflow.com/questions/45129790/difference-between-http-and-httpclient-in-angular-4) – trungk18

답변

1

HttpClient를 인터페이스는 기존의 HTTP 인터페이스에서 거의 변경되지 않습니다 큰 차이가 있다는 것입니다 HttpClientModule은 f를 더 잘 지원합니다. 또는 미들웨어 (즉, HTTP 인터셉터).

기능의 장점 중 일부 : 새로운 HTTP 클라이언트와

• Strongly typed response body access 
• JSON assumed by default (no more need to do .map(t=>t.json()) 
• Better support for interceptors as middleware 
• Immutable request/response objects 
• Progress events for request upload/response download 

은 그 직선 앞으로 미들웨어 구성 요소에 대한 HTTP 인터셉터를 사용합니다.

일부 미들웨어 패턴의 장점 : HTTP에 대한 처리

  1. 글로벌 오류가
  2. 글로벌 재시도 메커니즘을 요청 (즉, 다시 시도 3 회) 장기 실행 작업에 대한
  3. 글로벌 HTTP 스피너.

예를 들어 클라이언트 코드 (HttpClient 사용)는 오류 처리, 재시도 또는 시각 대기 구성 요소 (모든 것이 한 곳에서 처리됨)에 대해 걱정할 필요가 없습니다.

+0

그래서 두 번째 질문에 대해 몇 가지 읽을 수있는 기회가 있습니다 - 마이그레이션해야하는 항목 이전 방법 : 헤더, ResponseType? –

+0

'this.http.get ('...', {observe : 'response'}); ' – pixelbits

+0

덕분에 전체 HTTP 응답 객체 (헤더 포함)에 여전히 액세스 할 수 있습니다! 성공적으로 내 코드를 HttpClient에 성공적으로 마이그레이션했습니다.) 또한 조언을 다시 사용했습니다. 실제로 그것은 나를 위해 훨씬 깨끗한 코드입니다!) –