是的,您可以在运行时传递它们。事实上,几乎与您键入的内容完全相同。这将在您的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
,在您的情况下,接口实现中可以包含多个注解!
我也发现它令人困惑,文档明确指出它替代了标头,但事实并非如此!
实际上是与@Headers("hardcoded_string_of_liited_use")
注释一起
希望这可以帮助 ;)