はい、実行時に渡すことができます。実際のところ、あなたがタイプしたのとほとんど同じです。これは、たとえばSecretApiInterface.javaという名前の API インターフェイス クラスにあります。
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")
注釈と同じように追加されます
お役に立てれば ;)