如何获取 angular 中 PATCH 方法的状态码?
How to get status code for PATCH method in angular?
我正在使用 PATCH 方法进行网络服务 API 调用。如果补丁成功,那么它将 return 一个 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
}
);
}
在上面的代码中,响应为空。所以我无法比较状态代码。请指教
默认情况下,HttpClient 的 patch
方法观察响应的主体。要获得完整的响应(包括状态),您可以在调用方法时将 observe: 'response'
添加到选项对象。
例如:
const url = 'http://anything.com';
const body = {};
this.http.patch<ResponseBodyType>(url, body, {observe: 'response'}); // will return Observable<HttpResponse<ResponseBodyType>>
我正在使用 PATCH 方法进行网络服务 API 调用。如果补丁成功,那么它将 return 一个 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
}
);
}
在上面的代码中,响应为空。所以我无法比较状态代码。请指教
默认情况下,HttpClient 的 patch
方法观察响应的主体。要获得完整的响应(包括状态),您可以在调用方法时将 observe: 'response'
添加到选项对象。
例如:
const url = 'http://anything.com';
const body = {};
this.http.patch<ResponseBodyType>(url, body, {observe: 'response'}); // will return Observable<HttpResponse<ResponseBodyType>>