我有一个对资源执行删除的AngularJS2应用程序。服务器删除资源并以410-GONE回答。 AngularJS2认为这是一个错误。我如何告诉AngularJS2 410是正确答案?
我的代码:
deleteOrganisatie(id: number) {
let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.delete(this._url + id, options)
.map(res => <Melding>res.json().melding)
.catch(this.handleError);
}
private handleError(error: Response) {
return Observable.throw(error.json().error || 'Server error');
}
毋庸置疑,资源已在服务器上删除。
答案 0 :(得分:2)
您可以在Observable.of
方法中使用handleError
返回回复来执行此操作:
deleteOrganisatie(id: number) {
let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.delete(this._url + id, options)
.map(res => <Melding>res.json().melding)
.catch(this.handleError);
}
private handleError(error: Response) {
if (error.status === 410) {
return Observable.of(error.json());
} else {
return Observable.throw(error.json().error || 'Server error');
}