복붙노트

[SPRING] 앵귤러 4 httpclient xml 응답

SPRING

앵귤러 4 httpclient xml 응답

const headers = new HttpHeaders({ 'Content-Type': 'text/xml' });
headers.append('Accept', 'text/xml');
headers.append('Content-Type', 'text/xml');
this.http.get('getxmlurl', {headers: headers}).subscribe(response => {
  return '1234';
});

안녕 난 앵글 4 HTTPClient XML 응답을 반환하는 봄 컨트롤러에서 HTTP get 요청을 만들 사용하고 있습니다.

내가 가진 문제는 chrome 개발자 네트워크 탭에서 xml 응답을 볼 수 있지만 응답은 항상 NULL입니다.

요청 헤더와 관련이 있을지도 모른다고 생각했지만 각도 4의 기본값은 json이지만 위의 코드로 요청 헤더를 변경할 수는 없습니다. 누군가 조언을 구할 수 있습니까?

감사

해결법

  1. ==============================

    1.responseType을 텍스트로 설정합니다.

    responseType을 텍스트로 설정합니다.

    this.http.get('getXmlUrl', { responseType: 'text' }).subscribe(response => {
      console.log(response);
    });
    

    responseType에 허용되는 값 :

    각도 문서 도구보기 : HttpRequest # responseType HttpClient # request ()

  2. ==============================

    2.여기서 문제는 HttpHeaders가 각도에 따라 변하지 않는다는 것입니다. 따라서 값을 설정하는 대신 개체를 만들 때 설정해야합니다. 좋아요.

    여기서 문제는 HttpHeaders가 각도에 따라 변하지 않는다는 것입니다. 따라서 값을 설정하는 대신 개체를 만들 때 설정해야합니다. 좋아요.

    const headers = new HttpHeaders({ 'Content-Type': 'text/xml' }).set('Accept', 'text/xml');
    

    그러나 요청 헤더 만 설정하고 있습니다. 당신의 응답이 text / xml 이길 원한다면.

    this.http.get('getxmlurl', { headers: headers, responseType: text/xml }).subscribe(response => { return response; });
    

    요청 헤더를 설정하지 않으면 헤더를 제거 할 수 있습니다.

  3. from https://stackoverflow.com/questions/45276250/angular-4-httpclient-xml-response by cc-by-sa and MIT license