[解決済み] Retrofit 2 - URL クエリパラメータ
2023-05-17 17:07:40
質問
Google Maps APIで必要な値を設定するために、クエリパラメータを使用しています。
問題なのは
&
記号が必要ないことです。
@GET("/maps/api/geocode/json?")
Call<JsonObject> getLocationInfo(@Query("address") String zipCode,
@Query("sensor") boolean sensor,
@Query("client") String client,
@Query("signature") String signature);
レトロフィットが生成されます。
&address=90210&sensor=false&client=gme-client&signature=signkey
である必要があるときに、呼び出しが失敗する原因となります。
address=90210&sensor=false&client=gme-client&signature=signkey
どうすれば直るのでしょうか?
どのように解決するのですか?
もし
@GET("foobar?a=5")
を指定した場合、すべての
@Query("b")
を追加する必要があります。
&
を使って追加する必要があり、次のようなものが生成されます。
foobar?a=5&b=7
.
を指定した場合
@GET("foobar")
を指定した場合、最初の
@Query
を使って追加する必要があります。
?
を使って追加する必要があり、次のようなものが生成されます。
foobar?b=7
.
これがRetrofitの仕組みです。
を指定すると
@GET("foobar?")
を指定すると、Retrofit はすでに何らかのクエリパラメータが指定されていると思い、その後に
を追加します。
を使ってクエリパラメータを追加します。
&
.
を削除して
?
を削除すれば、望ましい結果が得られるでしょう。
関連
-
SocketException java.netの4つの例外解決策。
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
FindBugの使用概要
-
コンストラクタDate()が未定義である問題
-
java 365*1000*60*60*24 計算問題
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] アプリケーションからAndroidのWebブラウザでURLを開くにはどうすればよいですか?
-
[解決済み] クエリ文字列パラメータのJava URLエンコーディング
-
[解決済み】Retrofit 2でのログ取得について
-
[解決済み】Retrofit 2 - ダイナミックURL
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
プロジェクトの依存関係を解決できない。
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
無効なメソッド宣言
-
FindBugの使用概要
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
Junitのユニットテストエラー
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。