Ajouter un Paramètre d'en-Tête pour le Rétrofit

Je suis en train de l'appeler et de l'api qui m'oblige à passer une clé API.

Mon Sercive appel à l'aide de HtppURLconnection fonctionne parfaitement.

url = new URL("https://developers.zomato.com/api/v2.1/search?entity_id=3&entity_type=city&q=" + params[0]);
        urlConnection = (HttpURLConnection) url.openConnection();

        urlConnection.setRequestProperty("user-key","9900a9720d31dfd5fdb4352700c");

        if (urlConnection.getResponseCode() != 200) {
            Toast.makeText(con, "url connection response not 200 | " + urlConnection.getResponseCode(), Toast.LENGTH_SHORT).show();
            Log.d("jamian", "url connection response not 200 | " + urlConnection.getResponseCode());
            throw new RuntimeException("Failed : HTTP error code : " + urlConnection.getResponseCode());
        }

Howevver, je ne suis pas sûr de savoir comment cela fonctionne avec les Rénovations que mon appel en Panne à tout moment.
Voici le code que j'suis usiong pour le même service d'appel

 @GET("search")
Call<String> getRestaurantsBySearch(@Query("entity_id") String entity_id, @Query("entity_type") String entity_type, @Query("q") String query,@Header("Accept") String accept, @Header("user-key") String userkey);

et je suis en utilisant le présent de l'appeler

Call<String> call = endpoint.getRestaurantsBySearch("3","city","mumbai","application/json","9900a9720d31dfd5fdb4352700c");

Tous ces appels vont dans le OnFailure Méthode en Rénovation.
Si je les envoie sans le HeaderParameters, il va dans le Succès avec un 403, car j'ai évidemment besoin de passer la clé api quelque part, mais je ne peux pas comprendre comment.

@GET("search")
Call<String> getRestaurantsBySearch(@Query("entity_id") String entity_id, @Query("entity_type") String entity_type, @Query("q") String query);

L'erreur que je reçois dans OnFailure est

java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2 path $
  • ajouter un journalisation de l'intercepteur pour votre rénovation exemple, parce que votre appel est mal paramétré
  • compiler 'com.squareup.okhttp3:enregistrement-intercepteur:3.0.0'
  • J'ai utilisé le au-dessus de la dépendance. Une Idée de comment je faire à partir de là?
  • il est dépendent de okhttp version utiliser la même version
  • avez-vous essayé ma réponse?
InformationsquelleAutor jamian | 2017-03-20