Да, вы можете передать их во время выполнения. На самом деле, в значительной степени точно так же, как вы его напечатали. Это будет в вашем классе интерфейса API, названный сказать SecretApiInterface.java
public interface SecretApiInterface {
@GET("/secret_things")
SecretThing.List getSecretThings(@Header("Authorization") String token)
}
Затем вы передаете параметры на этот интерфейс из вашего запроса, что-то вдоль этих линий: (этот файл будет, например SecretThingRequest. Java)
public class SecretThingRequest extends RetrofitSpiceRequest<SecretThing.List, SecretApiInteface>{
private String token;
public SecretThingRequest(String token) {
super(SecretThing.List.class, SecretApiInterface.class);
this.token = token;
}
@Override
public SecretThing.List loadDataFromNetwork() {
SecretApiInterface service = getService();
return service.getSecretThings(Somehow.Magically.getToken());
}
}
где Somehow.Magically.getToken()
является вызов метода, который возвращает маркер, это до вас, где и как вы определяете его.
Вы можете, конечно, иметь несколько аннотаций @Header("Blah") String blah
в реализации интерфейса, как в вашем случае!
Я нашел его в заблуждение тоже the documentation ясно говорит, что заменяет заголовок, но НЕ!
Он фактически добавлен как с @Headers("hardcoded_string_of_liited_use")
аннотацию
Надежда это помогает;)
Вы когда-нибудь это выясняли? Мне нужно передать токен в заголовке также – theSociableme
Я также ищу решение этого, из документации это похоже на [@Headers()] (http://square.github.io/retrofit/javadoc/retrofit/ http/Header.html) аннотации метода _adds fields_ к заголовку один за другим, но поддерживает только литералы. И [@Header ("параметр") Строка строки] (http://square.github.io/retrofit/javadoc/retrofit/http/Header.html) аннотация _replaces_ заголовок с указанным значением. – nana
То же самое здесь, не удалось выяснить, как обрабатывать сеансы при использовании модификации. – feresr