Así que Retrofit 2.0.0 se lanzó recientemente y realmente no hay ejemplos actualizados sobre cómo usarlo, pero estoy tratando de implementarlo para una llamada API básica. Estoy recibiendo un
java.lang.IllegalArgumentException: Unable to create converter for class` 
causado por
Caused by: java.lang.IllegalArgumentException: Could not locate converter for class orbyt.app.dataclass. Tried:
* retrofit.OkHttpBodyConverterFactory
Al intentar hacer la llamada api.

Respuestas:
Estaba enfrentando el mismo problema. Lo arreglé agregando:
compile 'com.squareup.retrofit2:converter-gson:<latest-version>'a mi build.gradle
Luego especifique el convertidor al crear mi instancia de Retrofit.
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build();fuente
.addConverterFactory(GsonConverterFactory.create()). Vincular los convertidores a través de gradle es obviamente una opción más limpia, por lo que marcar esto como la respuesta.converter-gsoncoincida con la suyaretrofitpropia; consulte stackoverflow.com/questions/32902157/…En Retrofit 2.0, Converter no está incluido en el paquete y cuando esté utilizando Retrofit 2.0 asegúrese de seguir el nuevo patrón de URL
URL base: siempre termina con /
@Url: NO empiece con /
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build();Para obtener más información sobre 2.0, siga este enlace Retrofit 2.0: La mayor actualización
Y también actualice build.gradle.
implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"Y agregue la extensión en el archivo build.gradle de nivel de proyecto
ext { retrofit_version= "2.x.x" }fuente
Cambie la versión de actualización en consecuencia
Para mí debajo de la dependencia ya estaba ahí
compile 'com.squareup.retrofit2:retrofit:2.0.2'Para gson 2.0.2 cambié
compile 'com.squareup.retrofit2:converter-gson:2.0.2'Luego añade
Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build();fuente
Para Retrofit V2, agregue los siguientes repositorios:
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'Ahora use el siguiente código:
Retrofit retrofit = new Retrofit.Builder() .baseUrl(API_URL) .addConverterFactory(GsonConverterFactory.create()) .build();Espero que ayude :)
fuente
En el último Retrofit 2.0, debe importar la última versión:
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'Tenga cuidado al llamar
baseUrl(), en la v2.0, debería estar al final de "/", y en el método, no comenzaría la URL con "/"@POST("classes/info") Call<ContactBean> insertInfo(@Body ContactBean bean);¡Y puede ver Retrofit para obtener más información! ¡Espero ayuda!
fuente
En mi caso (Kotlin con corrutinas) recibí la excepción:
Hubo un problema en una solicitud:
@FormUrlEncoded @Streaming @POST("export-pdf/") suspend fun exportPdf( @Field("token") token: String ): Call<ResponseBody>Eliminado
suspendde la definición y desaparecieron las excepciones.fuente