Consulta GET con json – Retrofit 2.0

¿Cómo hacer esta consulta que voy a mencionar a continuación?

Método @GET . La consulta debe tener este aspecto:

/top40?data={"ranking":"world"} /top40?data={"ranking":"country"}

 @GET("/api/top40") Call<FamousTop40Model> getStatus( // what should be there? ); class Factory { private static FamousTop40Api service; public static FamousTop40Api getInstance() { Retrofit retrofit = new Retrofit.Builder() .baseUrl(ApiConstants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build(); service = retrofit.create(FamousTop40Api.class); return service; } } 

¿Pueden ayudarme chicos?

EDIT: + Debería tener accessKey en el encabezado.

3 Solutions collect form web for “Consulta GET con json – Retrofit 2.0”

Eso me ayuda:

 public interface FamousTop40Api { @GET("/api/top40") Call<FamousTop40Model> getStatus( @Query("data") String ranking ); class Factory { private static FamousTop40Api service; public static FamousTop40Api getInstance() { OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.addInterceptor(new Interceptor() { @Override public Response intercept(Interceptor.Chain chain) throws IOException { Request original = chain.request(); Request request = original.newBuilder() .header("accessKey", MainActivity.ACCESS_KEY) .method(original.method(), original.body()) .build(); return chain.proceed(request); } }); OkHttpClient client = httpClient.build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(ApiConstants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .client(client) .build(); service = retrofit.create(FamousTop40Api.class); return service; } } } 

Así que necesitas agregar @Query y accessKey en la cabecera con OkHttpClient

y

 FamousTop40Api.Factory.getInstance().getStatus("{\"ranking\":\"country\"}").enqueue(); 

Puede llamar a su método GET de esta manera:

 public interface EndPointInterface{ @GET(ProximityConstants.URL_FETCH_STORE_INFO) Call<Store> getStoreInfoByBeaconUUID(@Query(ProximityConstants.BEACON_UUID) String beaconUUID); } 

Para llamar al método GET webservice proceda de la siguiente manera:

  Call<StoreSettings> call = apiService.getStoreSettings(mStore.getStoreID(), mCustomer.getCustId(), mStore.getBeaconID(), ProximityConstants.SETTINGS_CUST_TYPE, ProximityConstants.ACTION_STORE_VISIT); call.enqueue(new Callback<StoreSettings>() { @Override public void onResponse(Call<StoreSettings> call, Response<StoreSettings> response) { ProximityUtil.writeLog(TAG, "Received store settings"); mStoreSettings = response.body(); SharedPreferences.Editor editor = mAppPreferences.edit(); editor.putString(ProximityConstants.SETTINGS_OBJ_STORE_SETTINGS, new Gson().toJson(mStoreSettings)); editor.commit(); Intent intent = new Intent(BeaconScanService.this, ProximityWelcomeActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); BeaconScanService.this.startActivity(intent); } @Override public void onFailure(Call<StoreSettings> call, Throwable t) { Toast.makeText(BeaconScanService.this, "Error: " + t.getMessage(), Toast.LENGTH_LONG).show(); } }); 

Intente lo siguiente: Create Class Task.java:

 public class Task { private String ranking; public Task(String ranking) { this.ranking = ranking; } } 

Y haz lo siguiente:

 public interface TaskService { @POST("/top40?data=") Call<Top40Model> getStatus(@Body Task task); } 

Y utilice como abajo:

 Task task = new Task("world"); Task task = new Task("country"); Call<Top40Model> call=new Factory.getInstance().getStatus(task); call.enqueue(new Callback<Top40Model>() {}); 
  • ¿Cómo utilizo el convertidor Gson en RetroFit?
  • Respuestas de ajuste retro se bloquean con pro guard
  • Uso de Retrofit para acceder a una API con key / id
  • Cómo crear NTLM Authentification con Retrofit
  • El tipo de retorno observable debe parametrizarse como Observable <Foo> o Observable <? Se extiende Foo>
  • Modificación retroactiva de caracteres especiales
  • ¡Retrofit! Devolver un tipo genérico observable
  • Retrofit que lanza IllegalArgumentException exception for asynchronous FormUrlEncoded DELETE call
  • POST Multipart Form Datos usando Retrofit 2.0 incluyendo imagen
  • Cómo manejar la rotación con Retrofit y RxJava / RxAndroid en Actividad?
  • Retrofit 2 cómo obtener la respuesta de objetos anidados json (android)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.