我正在使用 PATCH 方法进行网络服务 API 调用。如果补丁成功,那么它将返回 204 状态代码。在状态码的帮助下,我在我的组件中编写逻辑。但是当我执行 console.log 时,HTTPResponse 为空。在这种情况下如何获取状态代码来编写我的逻辑?
public invokePatchRequest(): void {
this.myService
.invokePatchRequest('John')
.pipe(takeUntil(this.unsubscribe$))
.subscribe(
(response: HttpResponse<any>) => {
if (response.status === 204 ) {
console.log('Display Success Message');
}
},
(error: HttpErrorResponse) => {
// Handle Error
}
);
}
在上面的代码中,响应为空。所以我无法比较状态代码。请指教。
答案 0 :(得分:0)
默认情况下,HttpClient 的 patch
方法观察响应的主体。要获得完整的响应(包括状态),您可以在调用方法时向选项对象添加 observe: 'response'
。
例如:
const url = 'http://anything.com';
const body = {};
this.http.patch<ResponseBodyType>(url, body, {observe: 'response'}); // will return Observable<HttpResponse<ResponseBodyType>>