AFNetworking iOS

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

投稿日:

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

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

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

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

まず、AFHTTPSessionManagerをオーバライド

実装ファイルは

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

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







-AFNetworking, iOS

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スパム対策に簡単な計算にご協力ください。 *

関連記事

no image

iOSシミュレーターでホームボタンが表示されない場合のショートカットキー

いつからかiOSシミュレーターでホームボタンが表示されなくなりました。おそらくiOSの大画面化で表示しきれなくなったんだと思いますが、、、。 iOSシミュレーターで、ホームボタンを押すショートカットキ …

no image

TestFlightで「Appをダウンロードできません」でインストール出来ない

iOSアプリの申請中に、審査が遅いなと一週間も待っていた挙句に、そういえばTestFlightでテストしてないなと思い、インストールしようとしたところ、「Appをダウンロードできません」と言われて、途 …

no image

Coredataのリレーション代入で「NSInvalidArgumentException」発生

Coredataの使用中に、リレーション(OneToMany)に値を代入すると、下記エラーが出る。

発生条件はよくわからないが、iOS …

no image

iOS: #importしているのに、cannot find protocol declaration for **

iOS(Objective-C)で、#importをしているのに、宣言箇所を見つけられない(cannot find protocol declaration for)という問題にハマった。 別のクラス …

no image

iOSシミュレーターで外のサーバーにつながらない

iOSシミュレーターで外のサーバーに繋がりません。。。。 色々と試しました。 iOS SimulatorでiOS8を動作させるとHTTP通信ができない – Qiita 参考   …




アプリをリリースしました!まだまだ機能や情報も足りてませんがよろしくお願いします。

サイクリングマップ

Google Play で手に入れよう

kitatamittakaと申します。IT系で詰まったことを自分のためと、ひょっとしたら誰かのために残そうと思います。

仕事

プログラミング好きのSE
仕事でプログラミングすることはあまりありません。

趣味

IT全般
新しい技術やガジェットに興味があります。
ロードバイク
別のブログを書いています。
SEがロードバイクに乗る
古代ローマの歴史
ローマ人の物語を読みました
映画
好きなのはガタカ、ペイフォワードなど
ブログランキング・にほんブログ村へにほんブログ村

モッピー!お金がたまるポイントサイト