AFNetworkingでエラー時にレスポンスを参照する。

NO IMAGE

AFNetworkingはデフォルトでは、HTTPレスポンスコードが200系でない場合、failureブロックを起動するのですが、failureにはresponseObjectが渡されないので、400系や500系が返ってくるとクライアントで処理が細かく行えない。

調べたが、意外とはっきりと記述してある情報がなかった。

例えば、クライアントからのリクエストパラメータが不正だった場合、(100文字の箇所にそれ以上送信したなど)failure一括になってしまい、細かくクライアントに結果を見せることができない。

デフォルトでやる方法はわからないが、参考となるページから、オーバライドで実装した。

まず、AFHTTPSessionManagerをオーバライド

実装ファイルは

参考サイト:Accessing the response body in failure blocks with AFNetworking 2

考えてみると、当たり前なのですが、デフォルトで提供されていると思ってしまった。。。