この記事は 株式会社Y's アドベントカレンダー 14日目の記事になります。
概要
Retrofit2 あたりでつまづくの悲しかったので、トラブルシューティング書きました。
こんなところで、みなさんには躓いて欲しくない。
そんな切なる願いを持って書きました。
いつも記事が薄い?
大丈夫、大丈夫。そんなことないよ、きっと。
何故か404が帰ってくる時
リクエスト送る時のHTTPメソッドは、APIの仕様に準拠していますか?
GETやPOSTの指定を間違えていないか確認しましょう。
ダメな例
// ホントはGETなんだよ〜〜〜〜!
@POST("hoge/fuga")
fun getHoge(@Path("id") id: Int)
エンドポイントの指定に間違いはありませんか?
typoしていないか、今一度深呼吸して確認しましょう。
ダメな例
// hoge/fuga が正解なのに〜〜
@GET("hoge/fga")
fun getHoge()
エンドポイントの開始指定に、 / が含まれていませんか?
エンドポイントの指定は / から始めません。
ダメな例
// /から始まってたらまずい
@GET("/hoge/fuga")
fun getHoge()
baseUrl正しく設定しているのにエラーが帰ってくる時
baseUrl() は / で締めていますか?
/ で締めないと怒られます
ダメな例
val retrofit: Retrofit = Retrofit.Builder()
.baseUrl("http://fuga.hoge.co.jp") // baseUrlは / で締めます
.addConverterFactory(MoshiConverterFactory.create())
.build()
さいごに
何か増えたらまた書きます。おわり
次は、 @w_ide_Ysinc さんの記事です!お楽しみに!