問題タブ [retrofit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
82844 参照

java - Android Retrofit パラメータ化された @Headers

私は OAuth を使用しており、リクエストを行うたびに OAuth トークンをヘッダーに入れる必要があります。注釈が表示@Headerされますが、実行時に渡すことができるようにパラメーター化する方法はありますか?

コンセプトはこちら

@Header({Authorization:'OAuth {var}', api_version={var} })

実行時にそれらを渡すことができますか?

0 投票する
1 に答える
7764 参照

java - Cookie 永続化によるレトロフィットの使用

私はレトロフィットを使用していますが、セッション Cookie を透過的に処理する方法を知りたいです。そのために、指定された ApacheClient を拡張し、 ApacheClient.execute(HttpClient, HttpUriRequest) へのカスタム呼び出しで CookieStore を使用します。

組み込みのレトロフィット API (HttpClient 拡張機能なし) を使用してこれを行うより良い方法はありますか?

0 投票する
1 に答える
9622 参照

android - HTTP リクエストのパラメーターとして表示される @Body をレトロフィットする

以前、Square のRetrofit@GETWeb API 呼び出しに使用し@BODYましたが、@POST呼び出しで JSON を送信しようとすると、サーバー (Rails) で JSON が本文要求ではなくパラメーターとして表示されます。

私の理解では、@BODYそのメソッドパラメーターが本文のリクエストに追加されます。

私が間違っていることは何か分かりますか?

WebAPI :

Web リクエストを行う:

0 投票する
2 に答える
3222 参照

android - データベースにアクセスする Robospice/ Retrofit バックグラウンド サービス

GETPOSTの両方の呼び出しを行うRetrofit API Rest クライアントの作成に成功し、それをバックグラウンド サービスとしてRobospiceに組み込みました。

ただし、Robospiceサービスがデータベースに接続し、 GET呼び出しから取得したオブジェクトを非同期的に永続化する必要があります。Retrofit クラスを使用するのCallbackは明らかな方法のようですが、データベースに接続する必要がContextあり、Context.

では、 Robospice SpiceServiceが処理中のリクエストの前とポストの両方でデータをデータベースに永続化するための最良の方法は何でしょうか?

0 投票する
1 に答える
35604 参照

android - Retrofit を使用した POST 本文 JSON

Retrofit ライブラリを使用して JSONObject を POST しようとしていますが、受信側でリクエストを見ると、コンテンツの長さが0.

RestService インターフェースで:

そして、それは次のように呼び出されます。

そしてregistrationBundleJSONObjectが null または空ではないことは確かです (他のフィールドは確かに問題ありません)。リクエストが行われた時点で、次のようにログアウトします {"zip":19312,"useAccountZip":false,"controllerName":"mine","registrationCode":"GLD94Q"}

リクエストの受信側で、リクエストにContent-type: application/jsonが含まれていることがわかりますContent-length: 0

このような本文で JSON を送信できない理由はありますか? Retrofit を使用する際に簡単なことを見逃していませんか?

0 投票する
1 に答える
3261 参照

android - Robospice with Retrofit を使用して Google appengine に画像をアップロードする

Robospice と Retrofit を使用して、画像を Google appengine ブロブストアにアップロードしようとしています。GAE から提供されたアップロード URL を取得できますが、画像を含む URL をマルチパート POST として送信しようとすると、例外が発生します。

E//RequestRunner.java:134(24689): Thread-3363 リクエスト ネットワークの実行中に例外が発生しました:null

E//RequestRunner.java:134(24689): retrofit.RetrofitError

E//RequestRunner.java:134(24689): retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:343) で

E//RequestRunner.java:134(24689): retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:222) で

E//RequestRunner.java:134(24689): $Proxy0.uploadImage(ネイティブ メソッド) で

E//RequestRunner.java:134(24689):zinger.connexus.network.UploadImage.loadDataFromNetwork(UploadImage.java:24)で

E//RequestRunner.java:134(24689):zinger.connexus.network.UploadImage.loadDataFromNetwork(UploadImage.java:1)で

E//RequestRunner.java:134(24689): com.octo.android.robospice.request.CachedSpiceRequest.loadDataFromNetwork(CachedSpiceRequest.java:45) で

E//RequestRunner.java:134(24689): com.octo.android.robospice.request.RequestRunner.processRequest(RequestRunner.java:130) で

E//RequestRunner.java:134(24689): com.octo.android.robospice.request.RequestRunner$1.run(RequestRunner.java:197) で

E//RequestRunner.java:134(24689): java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390) で

E//RequestRunner.java:134(24689): java.util.concurrent.FutureTask.run(FutureTask.java:234) で

E//RequestRunner.java:134(24689): java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) で

E//RequestRunner.java:134(24689): java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) で

E//RequestRunner.java:134(24689): java.lang.Thread.run(Thread.java:841) で

D//RequestProgressManager.java:75(24689): 進行状況の送信完了

私のAPIインターフェース

私のレトロフィットGsonスパイスサービス

私の Retrofit Spice Request クラス

私の実行呼び出し

0 投票する
1 に答える
3309 参照

android - Android レトロフィット コンバータの例外

サーバーから2つの異なる応答リクエストを取得できる場合、クラスをフォーマット/設計する方法は?

注: JSON 応答形式 (設計) がクラスと異なる場合、Retrofit は例外をスローします。JSON 応答のすべてのフィールドがクラスに存在する必要があります。

JSON 応答のような Java クラス:

JSON 応答:

これが私が応答を要求する方法です:

ログインに失敗した場合、public List<String> message;Web サーバーからのメッセージが読み込まれます。

しかし、Web サーバーが何も応答しない場合 (ログインの成功) は、レトロフィットによって例外が発生しpublic List<String> message;ます。空であるため、Web サーバーは、文字列配列ではなく、単純な空の文字列メッセージで応答しました。に変更public List<String> message;するpublic String message;と機能しますが、ログインに失敗した場合は文字列配列でなければならないため、できません。

0 投票する
2 に答える
54699 参照

android - Android Retrofit を使用した POST

私は Android プログラミングが初めてで、Retrofit を使用しています。このトピックについて多くの調査を行いましたが、私のニーズに固有の解決策を見つけることができませんでした. API を使用して POST リクエストを作成しようとしています。次のレトロフィット以外のコードでこれを達成しました。

現在、Retrofit を使用して同じ結果を得ようとしていますが、コールバックを使用して API から JSON を取得する方法がわかりません (この呼び出しは非同期で行われるべきだと思いますか?)。

次のメソッドでインターフェイスを作成しました。

そして、アクティビティの onCreate メソッドで RestAdapter などをインスタンス化しました。ユーザーが「ログイン」ボタンを押すと (ユーザー名とパスワードを入力した後)、ボタンの onClick メソッド内で以下が呼び出されます。

ただし、これは意図したとおりに機能していません。これに正しく取り組んでいるとは本当に思いません。そのユーザーに関する JSON 形式のデータのブロックを送り返す POST をサーバーに送信できるようにしたいと考えています。誰かが私を正しい方向に向けることができれば、それは本当にありがたいです. 前もって感謝します