2016-06-06 18 views
0

Ich arbeite gerade an einer Android-App und ich habe ein Problem, ich versuche, einen Header in meiner Anfrage mit Retrofit zu senden, aber wenn ich auf meinem Server mit PHP es aussieht aussieht Der Header existiert nicht einmal.
Hier ist mein Code:
AndroidNachrüstung sendet keine Kopfzeile

@Headers("SECRET_KEY: QWERTZUIOP") 
@GET("{TableName}/") 
Call<List<Data>> cl_getAllFromTable(@Path("TableName") String TableName); 


PHP Server

$secret_key = $_SERVER['HTTP_SECRET_KEY']; 


ich froh wäre, wenn jemand helfen könnte. Danke im Voraus.
Karde

+0

http://stackoverflow.com/questions/32963394/how-to-use-interceptor-to-add-headers-in-retrofit-2-0 Sie muss den Header abfangen und manuell hinzufügen. – aminner

+0

Ich muss die Kopfzeile von meiner App senden, ist das möglich? Kannst du mir bitte mehr sagen? – Teasel

+0

http://stackoverflow.com/questions/29884967/how-to-dynamics-set-headers-in-retrofit-android Die angenommene Antwort gibt eine Erklärung und mehrere Optionen! – aminner

Antwort

1
// Define the interceptor, add authentication headers 
Interceptor interceptor = new Interceptor() { 
     @Override 
     public okhttp3.Response intercept(Chain chain) throws IOException { 
      Request newRequest = chain.request().newBuilder().addHeader("User-Agent", "Retrofit-Sample-App").build(); 
      return chain.proceed(newRequest); 
     } 
}; 

// Add the interceptor to OkHttpClient 
OkHttpClient.Builder builder = new OkHttpClient.Builder(); 
builder.interceptors().add(interceptor); 
OkHttpClient client = builder.build(); 

// Set the custom client when building adapter 
Retrofit retrofit = new Retrofit.Builder() 
     .baseUrl("https://api.github.com") 
     .addConverterFactory(GsonConverterFactory.create()) 
     .client(client) 
     .build(); 

Referenz: https://guides.codepath.com/android/Consuming-APIs-with-Retrofit