java - solicita - (Actualización) No se pudo encontrar el convertidor para la aplicación de bloqueo de clase
su configuracion de seguridad ha bloqueado la ejecucion de una aplicacion formada con un certificado (6)
Cambiar la versión de actualización en consecuencia
Para mí debajo de la dependencia ya estaba allí
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();
Por lo tanto, Retrofit 2.0.0 se lanzó recientemente y no hay realmente ejemplos actualizados sobre cómo usarlo, pero estoy tratando de implementarlo para una llamada API básica. Estoy obteniendo 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 a la API.
En mi caso (Kotlin con corutinas) recibí la excepción:
No se puede crear el convertidor para retrofit2.
para el método Queries.exportPdf.
Causado por: java.lang.IllegalArgumentException: no se pudo encontrar el convertidor ResponseBody para retrofit2.Call
Un problema estaba en una solicitud:
@FormUrlEncoded
@Streaming
@POST("export-pdf/")
suspend fun exportPdf(
@Field("token") token: String
): Call<ResponseBody>
Se eliminó la
suspend
de la definición y las excepciones desaparecieron.
En Retrofit 2.0, el convertidor no está incluido en el paquete y cuando utilice 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 actualiza build.gradle.
En la última versión de 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 de llamar a
baseUrl()
, en v2.0, debe ser el final de "/", y en el método, no comenzaría con url con "/"
@POST("classes/info")
Call<ContactBean> insertInfo(@Body ContactBean bean);
¡Y puedes ver square.github.io/retrofit para obtener más información! Espero ayuda!
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();
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 :)