如何在angular中获得PATCH方法的状态码?



我正在使用PATCH方法进行webservice 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
}
);
}

在上面的代码中,响应是空的。所以我无法比较状态码。请建议。

默认情况下,HttpClient的patch方法观察响应的主体。要获得完整的响应(包括状态),可以在调用该方法时将observe: 'response'添加到options对象。

例如:

const url = 'http://anything.com';
const body = {};
this.http.patch<ResponseBodyType>(url, body, {observe: 'response'}); // will return Observable<HttpResponse<ResponseBodyType>>

相关内容

  • 没有找到相关文章

最新更新