1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Y'sAdvent Calendar 2017

Day 14

Retrofit 2 で何故か404が帰ってくる時のトラブルシューティング

Last updated at Posted at 2017-12-16

この記事は 株式会社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 さんの記事です!お楽しみに!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?