У меня есть следующий код в приложении 7 angular 7
insertAccount(submittedAccount:Account):Observable<Account>{
return this.http.post<Account>(this.baseApiUrl+"Account",submittedAccount,this.httpNormalOptions).pipe(
map(response=>{
return response;
}
))
}
Как получить код ответа http?Например, если он возвращает ошибку 401, мне нужно ее обработать, и в настоящее время она, очевидно, просто возвращает объект.
---- Обновление ----
Хорошо, поэтому я следовал решениямниже, но метод карты никогда не был достигнут, так как не было ответа как такового (я полагаю, потому что это не удалось из-за 401)
Так что я изменил его на следующий
let result:Account[]=[];
this.http.get<HttpResponse<Account[]>>(this.baseApiUrl+"Account",this.httpNormalOptions).pipe(map(
response=>{
return response;
}
)).subscribe(r=>{result= r.body},p=>{if(p.status===401){this.clearToken()}})
return result;
Однакоочевидно, теперь не возвращает наблюдаемое ... Это проблема?(Я довольно плохо знаком с наблюдаемыми). Есть ли преимущество в возвращении наблюдаемого по сравнению с простым возвратом объекта Account []?
Просто для полноты я строю заголовки, которые отправляю с ответом следующим образом
this.httpNormalOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + this.auth_token,
observe:'response'
})
}