Có, bạn có thể chuyển chúng trong thời gian chạy. Như một vấn đề của thực tế, khá nhiều chính xác như bạn gõ nó ra. Đây sẽ là trong lớp giao diện API của bạn, tên nói SecretApiInterface.java
public interface SecretApiInterface {
@GET("/secret_things")
SecretThing.List getSecretThings(@Header("Authorization") String token)
}
Sau đó, bạn vượt qua các thông số để giao diện này từ yêu cầu của bạn, một cái gì đó dọc theo những đường: (tập tin này sẽ là ví dụ 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());
}
}
đâu Somehow.Magically.getToken()
là một lời gọi phương thức trả về một mã thông báo, đó là tùy thuộc vào bạn ở đâu và làm thế nào bạn định nghĩa nó.
Bạn có thể có nhiều hơn một @Header("Blah") String blah
chú thích trong việc triển khai giao diện, như trong trường hợp của bạn!
tôi thấy nó khó hiểu quá, the documentation nói rõ nó thay thế tiêu đề, nhưng nó KHÔNG!
Nó được trong thực tế bổ sung như với @Headers("hardcoded_string_of_liited_use")
chú thích
Hope this helps;)
Bạn đã bao giờ tìm ra điều này chưa? Tôi cần phải nhập một mã thông báo trong tiêu đề cũng – theSociableme
Tôi cũng đang tìm kiếm giải pháp cho điều này, từ tài liệu có vẻ như [@Headers()] (http://square.github.io/retrofit/javadoc/retrofit/ http/Header.html) chú thích trên phương thức _adds fields_ để tiêu đề từng cái một, nhưng chỉ hỗ trợ chữ. Và [@Header ("tham số") Chuỗi chuỗi] (http://square.github.io/retrofit/javadoc/retrofit/http/Header.html) tham số chú thích _replaces_ tiêu đề với giá trị được cung cấp. – nana
Tương tự ở đây, không thể tìm hiểu cách xử lý các phiên khi sử dụng trang bị thêm. – feresr