当服务器响应410(消失)

时间:2016-04-17 17:47:02

标签: angular

我有一个对资源执行删除的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');
}

毋庸置疑,资源已在服务器上删除。

1 个答案:

答案 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');
}