そのため、Retrofit 2.0.0が最近リリースされ、実際に使用方法に関する更新された例はありませんが、基本的なAPI呼び出し用に実装しようとしています。私は
Java.lang.IllegalArgumentException: Unable to create converter for class`
のせいで
Caused by: Java.lang.IllegalArgumentException: Could not locate converter for class orbyt.app.dataclass. Tried:
* retrofit.OkHttpBodyConverterFactory
API呼び出しをしようとするとき。
私は同じ問題に直面していました。以下を追加して修正しました:
compile 'com.squareup.retrofit2:converter-gson:<latest-version>'
私のbuild.gradleに
次に、Retrofitインスタンスを作成するときにコンバーターを指定します。
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Retrofit 2.0では、Converterはパッケージに含まれていません。Retrofit2.0を使用している場合は、必ず新しいURLパターンに従ってください
ベースURL:常に/で終わる
@ Url:/で始めないでください
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
2.0の詳細については、このリンクを参照してください Retrofit 2.0:最大の更新
また、build.gradleも更新します。
それに応じて改造バージョンを変更する
私にとって、依存関係はすでに存在していました
compile 'com.squareup.retrofit2:retrofit:2.0.2'
Gson 2.0.2の場合、変更しました
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
それから加えて
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Retrofit V2の場合、次のリポジトリを追加します-
compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
以下のコードを使用してください-
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
それが役立つことを願っています:)
最新のRetrofit 2.0では、最新バージョンをインポートする必要があります。
compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
V2.0ではbaseUrl()
、注意して呼び出してください。これは「/」で終わる必要があり、メソッドでは「/」でurlを開始しません
@POST("classes/info")
Call<ContactBean> insertInfo(@Body ContactBean bean);
Retrofit で詳細を確認できます!助けて欲しい!
私の場合 (Koutlin with coroutines)で例外を受け取りました:
Retrofit2.Callのコンバーターを作成できません
メソッドQueries.exportPdfの場合。
原因:Java.lang.IllegalArgumentException:retrofit2.CallのResponseBodyコンバーターが見つかりませんでした
リクエストに問題がありました:
@FormUrlEncoded
@Streaming
@POST("export-pdf/")
suspend fun exportPdf(
@Field("token") token: String
): Call<ResponseBody>
定義からsuspend
を削除し、例外が消えました。