[解決済み] Android 後付けパラメータ付き @Headers
2023-05-06 09:49:50
質問
OAuthを使用しており、リクエストを行うたびにOAuthトークンをヘッダに入れる必要があります。私は
@Header
アノテーションがありますが、実行時に渡すことができるようにパラメータ化する方法はありますか?
以下はその概念です。
@Header({Authorization:'OAuth {var}', api_version={var} })
Runtimeで渡すことは可能ですか?
@GET("/users")
void getUsers(
@Header("Authorization") String auth,
@Header("X-Api-Version") String version,
Callback<User> callback
)
どのように解決するのですか?
Headerパラメータを使用する以外に、RequestInterceptorを使用すると、インターフェースを変更せずにすべてのリクエストを更新することができます。以下のような使い方をします。
RestAdapter.Builder builder = new RestAdapter.Builder()
.setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
request.addHeader("Accept", "application/json;versions=1");
if (isUserLoggedIn()) {
request.addHeader("Authorization", getToken());
}
}
});
p/s : Retrofit2を使っている場合は
Interceptor
の代わりに
RequestInterceptor
から
RequestInterceptor
は Retrofit 2.0 では使えなくなりました。
関連
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
htmlとwordの相互変換の実装(画像あり)
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
型に解決できない エラー解決
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
Javaジェネリックを1つの記事で
-
-bash: java: コマンドが見つからない 解決方法
-
配列定数は初期化子でのみ使用可能です。
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
[解決済み] OKHttpを搭載したRetrofitはオフライン時にキャッシュデータを使用できますか?