2016-04-04 6 views
-1

私はGsonでRetrofit 1.9を使用してWeb APIに接続しています。最近まで私は間違いなく問題を遭遇しました。httpリダイレクト後の改造変換の例外

ISPに接続できなかったときにHTTPリクエストを自動的にログインページにリダイレクトするWifi Router + Modemがあります。このようなシナリオの1つでは、私は自分のアプリをデバッグしようとしましたが、Retrofit変換エラー(Expected BEGIN_ARRAY but was STRINGエラー)が表示され始めました。より詳細に調べると、私はGsonがURLリダイレクションのために私のwifiルータのログインページ全体を逆シリアル化しようとしていることを理解しました。

改造してこのリダイレクトを検出でき、ネットワークエラーではなく変換エラーであるとエラーを処理できますか?

+0

私はより明確になるように質問を編集することができますdownvotesの理由を述べてください! –

答えて

0

OK。 RetrofitはREST抽象ライブラリなので、HTTPリダイレクトとは何の関係もないことが分かりました。この問題は、使用を改造するHTTPクライアントで解決する必要があります。私はOkHttpClientを使用しているので、インスタンス上でsetFollowRedirects(false)を呼び出してリダイレクトを無効にしなければなりませんでした。 HttpUrlConnectionを使用している場合は、インスタンス上でスタティックsetFollowRedirects(false)setInstanceFollowRedirects(false)を呼び出すことができます。誰かを助けることを願っています!

関連する問題