私はエラーを処理するための最良の方法と、エラーオブジェクトと組み合わせてAPIからの応答でエラーコードを使用する必要がある場合はどうすればよいでしょうか。React/Redux - エラーとエラーコードの処理
私は反応の中でユーザーが次のステップに移動するたびに、次のステップに移る前にデータを検証するためのリクエストをAPIに送信し、エラーオブジェクトが存在する場合はtrue/falseの応答を返します。
if(hasErr == true) {
res.status(200).json({
success: false,
errors: errorsObject
});
}
が、私は戻って200の状態を送信するべきか、私は400のどこかにエラーコードとレスポンスを返送する必要があります。
私の質問は、私は例えば、一般的なエラーを返していたときに、範囲?私は応答が供給していたときに
は現在、クライアント側で、私の基本的なReduxのアクションは、次のようになります。
this.props.createlistingAction(this.state).then(
(res) => {
if(res.payload.success == true) {
console.log('Success!');
} else {
console.log('We have errors!');
this.setState({ errors: res.payload.errors });
}
console.log(res);
//this.props.history.push('/'),
},
(err) => { // error
console.log(err.response);
this.setState({errors: err.response.data.errors, isLoading: false});
}
);
が、それはこのようなエラーを処理するためにOKですか? 400エラーレスポンスを送り返すことを提案した場合、ペイロードには「エラー:要求がステータスコード400のcreateErrorで失敗しました」という一般的なエラーのみが含まれている場合、これらのエラーをどのように取得する必要がありますか?
おかげ
はい、私は現在、どのように処理しているのですか、200の応答を返信し、正常に動作するように見える応答の本体でエラーを取り上げます。しかし、私はこれを正しい方法でやっているのか、エラーコードを送り返すべきか、もしそうなら、レスポンスからエラーを引き出す方法を尋ねています。 – Notorious
私はすでにあなたに答えました。送信しているステータスコードに関係なくボディレスポンスを送信することは可能です。 正しい方法は、正しいステータスコードで応答を送信することです! – Syncro