각도 노트는 서버와 통신 --HttpClient-

대부분의 프런트 엔드 응용 프로그램과 통신하기 위해 HTTP 프로토콜을 통해 백 엔드 서버가 필요합니다. : 현대 브라우저는 두 개의 서로 다른 API의 사용은 HTTP 요청을 전송 지원 XMLHttpRequest 인터페이스와  fetch() API를.

@ 각도 / 일반 / HTTP를 HttpClient를 클래스는 각도 HTTP 클라이언트 기능을 달성하기 위해 응용 프로그램을위한 단순화 된 API를 제공한다. 이 브라우저 기반 제공  XMLHttpRequest 인터페이스를.

지원 요청 인터셉터를 시작하고 응답을 수신하고, 더 나은 때 관찰 된 API (관찰 가능한)를 기반으로, 테스트 용이성, 강력한 형식의 요청과 응답 객체를 스트리밍은 오류 처리 객체 : 다른 장점은 HttpClient를가 포함 가져 메커니즘.

서비스 추가

{가져 오기 '@ 각도 / 코어'에서 주사} ; 
에서 가져 오기 HttpClient를} { '코너 / 공통 / HTTP @' ; 
} 가져 오기에서 {지도 'rxjs / 운영자' ;
 // 응답 밴드 타입 체크 
수출 클래스 HttpResult <T> { 
 데이터 : T; 
 상태 : 번호; 
} 
@Injectable () 수출 ChannelService {클래스
생성자 (개인 HTTP : HttpClient를) {} 주는 getChannel (ID : 문자열) {
반환 은이 .http.post <HttpResult <>> 임의 ( 'API / 포털 / 채널 / 가져 오기 ' , {ID : ID}.) 파이프 ( 재시도 ( . 3), // 실패 시간의 관찰 가능한 자동으로 다시 가입 (catchError을 은이를.handleError) // 다음 오류를 처리 ); } }

 

요청 헤더를 추가

보존 작업을 수행 할 때 많은 서버 추가 요청 헤더를 필요로한다. 예를 들어, 그들은해야 할 수 있습니다  Content-Type 요청의 헤드 바디 명시 적으로 정의 된 MIME 타입. 또한 서버는 인증 (토큰)에 대한 토큰을 필요로 할 수있다.

@ 각도 / 일반 / HTTP 클래스 객체는 HttpHeaders 일부와 같은 요청 헤더 정의

에서 '@ 각도 / 일반 / HTTP'수입 {HttpHeaders} ; 

const를 httpOptions = { 
  헤더 : 새로운 HttpHeaders ({
     '콘텐츠 유형': '응용 프로그램 / JSON' ,
     '인증': '내-인증 토큰' 
  }) 
};

POST 요청을 시작합니다

자원의 URL이 포함 HttpClient.post () 메소드는 또한 두 개의 추가 매개 변수를 사용할 수

  • 데이터 -에  POST 본문 데이터 요청.

  • HTTPOtions -이 예에서 옵션은 방법 필요한 요청 헤더를 지정합니다.

// 保存表单数据
saveChannel (데이터) {
   반환   <HttpResult <어느 >> ( 'API / 포털 / 채널 / 저장'을 .http.post , 데이터, httpOptions) .pipe ( 
   catchError (  .handleError를) // 후 처리 에러 
  ); 
}

 

추천

출처www.cnblogs.com/tingying/p/10985004.html