Angular4で失敗したPUT HTTP要求を処理するためのベストプラクティスガイドラインを探しています。Angular4で失敗したHTTP putを処理する方法
私のシナリオ:単純なコンポーネントは、put要求でAPIを呼び出してレコードを更新しようとします。
例のコードスニペット:
私のコンポーネントは、このコードが含まれています。
this.workStreamService.save(this.workStream);
これは、このコードを持っているworkStreamServiceと呼ばれるサービスのメソッドを呼び出している:
save(workStream: WorkStream): Promise<WorkStream> {
const url = this.workStreamUrl + '/' + workStream.id;
return this.http
.put(url, JSON.stringify(workStream), {headers: this.headers})
.toPromise()
.then(() => workStream)
.catch(this.handleError);
}
コードしていますAngular4チュートリアルのほとんどはコピー貼り付けされていますが、このチュートリアルではエラーや成功を処理するのに十分な深さはありません。
APIは、応答ボディ、オブジェクト、またはDTOをHTTPステータスコードだけで返しません。成功のために200、何かが間違っていたら500。
渡されたworkStreamオブジェクトがOKで、サービスが実行されていてエラーをスローしない場合、これは正常に動作します。サービスが失敗して500を返す状況では、コンポーネント内でこれを200応答とは異なる方法で処理できるようにしたいと考えています。 (例 - コンポーネントは「成功」メッセージを表示するか、ユーザーに「この呼び出しに失敗しました」というメッセージを表示して、再試行を促します)。
私はAngular4が新しく、この種の処理の例は見つかりません。事前にお手数をおかけします。
これはあなたの質問に明るい光を当てるのに役立ちましたか? – UncleDave
ああ!親切にありがとう、それはあなたがそれのように説明するとき、今とてもシンプルなようです。私はそれが自動的に返されたオブジェクトを返した(私は明示的にそれをやろうとしていた)気づいていませんでした。 ありがとう! –