Получить API, возвращающий HttpErrorrResponse в угловом коде с кодом ошибки 302 и ответом json wrpaped по ошибке - PullRequest
0 голосов
/ 30 января 2019

Я написал простой GET API, который возвращает список утверждений.URL-адрес API: http://localhost:8898/claim/v1/claimByClaimNum/' + Самооценка

Теперь, когда я вызываю это через свой угловой код с помощью HttpClient, я получаю HttpErrorResponse.

Я вызываю Rest API с помощьюприведенный ниже код в моем Service.ts

import { Injectable } from '@angular/core';

import { HttpClient, HttpHeaders, HttpParams} from 
'@angular/common/http';

import { ClaimResultItem } from '../claim-result/claim-result- 
item.model';

import {map} from 'rxjs/operators';

import {Observable} from 'rxjs';

@Injectable()
  export class ClaimHttpService {


 constructor(private http: HttpClient) {}

 getClaimsByClaimNumber(claimNumber: string) {

  this.http.get<ClaimResultItem> 
('http://localhost:8898/claim/v1/claimByClaimNum/' + claimNumber)
 .subscribe((response => {
   console.log(response.subjectId);
  }
   ));
}
}

Когда я вызываю вышеуказанный метод, я получаю сообщение об ошибке ниже -

HttpErrorResponse {headers: HttpHeaders, status: 302, statusText: "OK", 
url: "http://localhost:8898/claim/v1/claimByClaimNum/1234", ok: false, …}
error: {claimNumber: "1234", claimStatus: "Paid", claimAmount: "125.00", 
claimStartDate: "2019-01-01", claimEndDate: "2019-05-01", …}
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, 
lazyInit: ƒ}
 message: "Http failure response for 
http://localhost:8898/claim/v1/claimByClaimNum/1234: 302 OK"
name: "HttpErrorResponse"
ok: false
status: 302
statusText: "OK"
 url: "http://localhost:8898/claim/v1/claimByClaimNum/1234"
 __proto__: HttpResponseBase
 constructor: ƒ HttpErrorResponse(init)
__proto__:
 constructor: ƒ HttpResponseBase(init, defaultStatus, defaultStatusText)
 __proto__: Object

Кажется, что HttpClient получает ответ от APIно все еще оборачивая это в ошибку и возвращая это в Http-коде 302.

 error: {claimNumber: "1234", claimStatus: "Paid", claimAmount: "125.00", 
 claimStartDate: "2019-01-01", claimEndDate: "2019-05-01", …}

Как удалить эту ошибку, любой указатель будет полезен.

My Rest API работает нормально и дает мнерезультат, когда я вызываю его независимо через Postman. Кроме того, служба Rest поддерживается для ресурса Cross origin.

Я вызываю метод из компонента Onsubmit () по нажатию кнопки

 onSubmit() {
  console.log(this.form.value.claimNumber);
  this.claimHttpService.getClaimsByClaimNumber(this.form.value.claimNumber) 
  ;

 }
...