Я написал простой 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)
;
}