2017-08-06 8 views
0

私はエラーを処理するための最良の方法と、エラーオブジェクトと組み合わせて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で失敗しました」という一般的なエラーのみが含まれている場合、これらのエラーをどのように取得する必要がありますか?

おかげ

答えて

0

また、あなたは簡単にエラーに関連したHTTPステータスコードとあなたの応答の本文にエラーの詳細を返すべき200 によって異なるステータスコードとコンテンツを返すことができます。

+0

はい、私は現在、どのように処理しているのですか、200の応答を返信し、正常に動作するように見える応答の本体でエラーを取り上げます。しかし、私はこれを正しい方法でやっているのか、エラーコードを送り返すべきか、もしそうなら、レスポンスからエラーを引き出す方法を尋ねています。 – Notorious

+0

私はすでにあなたに答えました。送信しているステータスコードに関係なくボディレスポンスを送信することは可能です。 正しい方法は、正しいステータスコードで応答を送信することです! – Syncro