No se puede crear el convertidor para java.util.List Retrofit 2.0.0-beta2

Sólo estoy haciendo una solicitud GET, pero estoy recibiendo este error:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yomac_000.chargingpoint/com.example.yomac_000.chargingpoint.AllStores}: java.lang.IllegalArgumentException: Unable to create converter for java.util.List<model.Store> 

Y es debido a esta línea de código:

 Call<List<Store>> call = subpriseAPI.listStores(response); 

Así que había intentado con esta línea de código para ver qué tipo es:

 System.out.println(subpriseAPI.listStores(response).getClass().toString()); 

Pero entonces tengo el mismo error por lo que no me deja saber qué tipo es. Aquí abajo puedes ver mi código.

StoreService.java:

 public class StoreService { public static final String BASE_URL = "http://getairport.com/subprise/"; Retrofit retrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .build(); SubpriseAPI subpriseAPI = retrofit.create(SubpriseAPI.class); String response = ""; public List<Store> getSubprises() { Call<List<Store>> call = subpriseAPI.listStores(response); try { List<Store> listStores = call.execute().body(); System.out.println("liststore "+ listStores.iterator().next()); return listStores; } catch (IOException e) { // handle errors } return null; } } 

SubpriseAPI.java:

 public interface SubpriseAPI { @GET("api/locations/get") Call<List<Store>> listStores(@Path("store") String store); } 

Store.java:

 public class Store { String name; } 

Estoy utilizando Retrofit versión 2.0.0-beta2.

En la versión 2+ es necesario informar al convertidor

CONVERTIDORES

Por defecto, Retrofit sólo puede deserializar cuerpos HTTP en el tipo ResponseBody de OkHttp y sólo puede aceptar su tipo RequestBody para @Body.

Los convertidores se pueden agregar para soportar otros tipos. Seis módulos hermanos adaptan las bibliotecas de serialización populares para su conveniencia.

Gson: com.squareup.retrofit: convertidor-gson Jackson: com.squareup.retrofit: convertidor-jackson Moshi: com.squareup.retrofit: convertidor-moshi Protobuf: com.squareup.retrofit: convertidor-protobuf Alambre: com.squareup. Retrofit: convertidor-alambre XML simple: com.squareup.retrofit: convertidor-simplexml

  //Square Lib, Consume Rest API compile 'com.squareup.retrofit:retrofit:2.0.0-beta1' compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1' 

Asi que,

  String baseUrl = "" ; Retrofit client = new Retrofit.Builder() .baseUrl(baseUrl) .addConverterFactory(GsonConverterFactory.create()) .build(); 
 public interface SubpriseAPI { @GET("api/locations/get") Call<List<Store>> listStores(@Path("store") String store); } 

Declaró un @Path llamado almacén, por lo que en su anotación @GET retrofit está esperando encontrar el marcador de posición para la sustitución. P.ej

 @GET("api/locations/{store}") Call<List<Store>> listStores(@Path("store") String store); 
  • Tipo de letra personalizado en el título de la pestaña de ActionBar
  • Crear una nueva cadena de un Charset lanza NoSuchMethodError (Android)
  • El método non-static execute () no se puede referenciar desde un contexto estático
  • Daga 2 en Android. Diferentes maneras de almacenar y acceder a un componente @Singleton
  • El detector de eventos de valor único de Firebase no devuelve
  • SQLite de Android CursorIndexOutOfBounds
  • Comenzar con la programación móvil. ¿Qué es una buena plataforma?
  • Crear un cuadro de diálogo personalizado con lista de botones de radio
  • Problema de orden de consultas SQLite de Android
  • Android: cambiar el campo final estático privado usando la reflexión de java
  • Android - HttpUrlConnection no se está cerrando. Eventualmente los resultados a SocketException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.