[英]How can I access HTTP error response body in angular
我想訪問錯誤響應正文並在該數組中顯示消息
ERROR:
Bp {headers: Op, status: 422, statusText: "OK", url: "https://abc.trade/trade/save-trade", ok: false, …}
error: Array(1)
0:
errorArgumentsMap: null
errorCode: "CREATE_ERROR_CODE"
errorPropagate: null
fieldName: ""
message: "trade already exists with id(T4)"
name: ""
__proto__: Object
length: 1
__proto__: Array(0)
headers: Op {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message: "Http failure response for https://abc.trade/trade/save-trade: 422 OK"
name: "HttpErrorResponse"
ok: false
status: 422
statusText: "OK"
url: "https://abc.trade/trade/save-trade"
這是我從 API 得到的回復。 現在我想訪問error.error.message。 下面是我的代碼
---TS文件---
this.createTrade.saveTrade(tradeData).subscribe((data: any)=>{
if(data.id){
console.log('Created Sucessfully')
}
},
error => {
if(error){
let errorMsg = error.error.message;
console.log(errorMsg)
}
}
)
---service.ts---
saveTrade(request: any) {
const urlList = 'https://abc.trade/trade/save-trade';
return this.http
.post<[]>(urlList, request, {
headers: this.headers
})
.pipe(
map(data => {
return data;
}),
catchError(this.handleError)
);
}
成功后它正在工作。 但是出錯時我無法讀取error.error.message。我什至嘗試訪問error.error[0].message。 各位大俠能否指教
你試過了嗎
saveTrade(request: any) {
const urlList = 'https://abc.trade/trade/save-trade';
return this.http
.post<[]>(urlList, request, {
headers: this.headers
})
.pipe(
map(data => {
return data;
}),
catchError(error => {
return of(error);
})
);
in ts file =>
this.createTrade.saveTrade(tradeData).subscribe((data: any)=>{
if(data.id){
console.log('Created Sucessfully')
}
},
error => {
console.log(error)
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.