[解決済み】Retrofit 2 - ダイナミックURL
2022-04-17 08:31:28
質問
Retrofit 2では、サービスメソッドのアノテーションにフルURLを設定することができます。
public interface APIService {
@GET("http://api.mysite.com/user/list")
Call<Users> getUsers();
}
しかし、私のアプリでは、ウェブサービスのURLはコンパイル時にはわからず、アプリはダウンロードしたファイルからそれらを取得するため、完全な動的URLでRetrofit 2を使用するにはどうしたらよいか悩んでいます。
のようなフルパスを設定しようとしました。
public interface APIService {
@GET("{fullUrl}")
Call<Users> getUsers(@Path("fullUrl") fullUrl);
}
new Retrofit.Builder()
.baseUrl("http://api.mysite.com/")
.build()
.create(APIService.class)
.getUsers("http://api.mysite.com/user/list"); // this url should be dynamic
.execute();
しかし、ここではRetrofitはパスが実際には完全なURLであることに気づかず、ダウンロードを試みています。
http://api.mysite.com/http%3A%2F%2Fapi.mysite.com%2Fuser%2Flist
このような動的なURLでRetrofitを使用する方法について何かヒントがあれば教えてください。
ありがとうございます。
解決方法は?
使い方が間違っているのでは?以下は チェンジログ :
新しい。URL パラメータアノテーションは、エンドポイントに完全な URL を渡すことを可能にします。
つまり、インターフェイスはこのようになるはずです。
public interface APIService {
@GET
Call<Users> getUsers(@Url String url);
}
関連
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み】Build Tools リビジョン 23.0.1 の検索に失敗しました。
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法
-
[解決済み] 複数のデバイスを接続しているときにADB Shellを使用するには?error: more than one device and emulator "で失敗します。
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。
-
[解決済み] アプリケーションからAndroidのWebブラウザで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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android - SDKバージョン23のアップデート後、ACTION-VIEWインテントフィルタを持つアクティビティを少なくとも1つ追加する。
-
[解決済み】Android Studioでパラメータ化されたユニットテストを実行すると、指定されたインクルードに対するテストが見つからないエラーが発生する
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み】com.android.ide.common.process.ProcessException: aaptの実行に失敗しました! どうすればいいですか?
-
[解決済み】Android Studio 3.2 - com.android.tools.build:aapt2:3.2.0-4818971 を見つけられませんでした。
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み】Android Studio。Android.support.design.widget.FloatingActionButton クラスを膨らませるのにエラーが発生する。
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] 複数のデバイスを接続しているときにADB Shellを使用するには?error: more than one device and emulator "で失敗します。
-
[解決済み] AndroidでBluetoothが有効かどうかのチェックに失敗する(REQUEST_ENABLE_BTを変数に解決できない)。