0) J'utilise Retrofit 2 pour le travail avec Bank API.
1) J'ai une interface:Rénovation 2: @Query "encoded = false" ne fonctionne pas
public interface ApiService {
@GET("statdirectory/exchange")
Call<List<MyModel>> getСurrency(@Query("date") String inputDate);
}
2) Et quand je l'appelle méthode getСurrency (someParametr), où someParametr est une chaîne, se composer avec "date & JSON" (par exemple, « 20170917 & JSON "):
ApiService apiService = RetrofitController.getApi();
apiService.getCurrency("20170917&json").enqueue(new Callback<List<MyModel>>() {
@Override
public void onResponse(Call<List<MyModel>> call, Response<List<MyModel>> response) {
call.request().url();
Log.e("URL", call.request().url()+"");
response.code();
Log.e("CODE", response.code()+"");
}
//.....
3) Je vois que:
URL: " https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?date=20170917% 26 JSON » (& est remplacé par % 26)
CODE: "404"
4) Interface Inmy i ajouter encodées:
getСurrency(@Query(value="date", encoded=false) String inputDate);
Mais mon résultat est le même que dans étape 3!
5) Comment vérifier ce problème? Comment obtenir l'URL sans % 26 sur ma chaîne? J'ai lu d'autres questions avec un problème similaire, mais ne résout pas mon problème. Merci!
pourquoi est exactement ce un problème? Et pourquoi avez-vous un param 'json' sans valeur? –
@TimCastelijns, mon code complet est de travail, mais je ne sais pas pourquoi mon URL _20170917 & json_ encoder à _20170917% 26json_ et comment le résoudre. – Tomas
Que voulez-vous réparer? Savez-vous même ce que l'encodage de l'URL est? –