我有一个对资源执行删除操作的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');
}不用说,该资源在服务器上被删除。
发布于 2016-04-18 02:46:26
您可以通过在handleError方法中返回带有Observable.of的响应来完成此操作:
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');
}https://stackoverflow.com/questions/36679998
复制相似问题