Retrofit使ってて詰まったところとか
詰まったところを共有していこうかなって。
しょっぱながJsonArrayから始まってた
stackoverflow.com
Jsonがいきなり[]から始まる奴のパースの仕方。
Kくんも困ってたこの問題、自分はちゃんとこれで解決できた。
てか、普通に{}で始めてほしい...
叩いたAPIがリダイレクトするのを無視したい
final OkHttpClient client = new OkHttpClient(); client.setFollowRedirects(true);
これをRestAdapterにセットしてあげれば行ける。
ちょっと闇感じる。
てか、リダイレクトして帰ってきた奴はfailureに行くのかな?
ここら辺よくわかなんないけど、パス!
JsonのKeyが動的に変わる
stackoverflow.com
普通に変わるやつをMapで置けばいいだけだった。
Map#keysetか何かでKey一覧取れるし、Valueもちゃんととれていい感じ。
Map最強。
Gsonに少し詳しくなった。
GETの時のデフォルトのパラメータのセット
@GET(Const.API.NEW_LIST + "?order=new") void getNewList(CallbackNewrList> callback);
GETの時はURLに含められるけど、POSTの時はどうすればいいんだろう。
前は@QueryParamみたいなのがあったらしい。
今はどうなんだろう。
パラメータにNull渡した時の挙動
POSTでもGETでもQueryやFieldにNull渡した時はRequestに含まれないらしい。
非常に便利。
必須パラメータだけ@NonNullアノテーションつけたら非常に良い運用ができそうな気がした。
最後に
RetrofitなしじゃAPIを叩けない体になった。
Retrofitマスターに俺はなる!!!!!