2016-05-09 14 views
0

Derzeit verwende ich Retrofit in Android.Android, Retrofit wie @Headers zu verwenden?

Jeder REST-Aufruf hat unterschiedliche Header. Ich finde, es gibt Schlüsselwort @Header in der Nachrüstung in Retrofit das Beispiel wie folgt:

@GET("/tasks") 
    Call<List<Task>> getTasks(@Header("Content-Range") String contentRange); 

Aber ich finde auch andere Schlüsselwörter @Headers, Wie kann ich Headers in Retrofit verwenden, weil ich viele Header haben, also denke ich @Headers vielleicht besser.

Poste okHttpClient-Methode nicht, ich habe bereits gewusst, wie man das verwendet.

Dank

Antwort

0

@Headers für statische Header, können Argumente gehen nicht da.

@Headers({ 
    "X-Something: Foo", 
    "X-Else: Bar", 
    "Cache-Control: max-age=300000" 
}) 
@GET("/getStuff") <Task> getStuff(); 

, wenn Sie viele verschiedene Headern pro Aufruf bekam dann müssen Sie @Header oder überdenken Sie Ihre API auf einem Back-End verwenden. Alternativ können Sie Header mit Interceptor hinzufügen, aber ich denke nicht, dass dies der richtige Weg ist.

+0

@Headers ({ "X-Something: Foo", "X-Else: Bar", "Cache-Control: max-age = 300000" }) eine statische Art und Weise ist, gibt es eine dynamische Art und Weise ? Genau wie der Code, den ich posten, aber mit Kopfzeilen? – fhlkm