Java 在翻新@Header中,属性必须为常量
我想在改型api中为每个POST请求传递一个头。因为我有很多方法,所以我不能复制/粘贴每个方法的标题信息Java 在翻新@Header中,属性必须为常量,java,android,header,retrofit2,Java,Android,Header,Retrofit2,我想在改型api中为每个POST请求传递一个头。因为我有很多方法,所以我不能复制/粘贴每个方法的标题信息 public interface ApiInterface { String[] header = {"Accept:application/json", "apiKey:12345", "Content-Type:application/json"}; @Headers(heade
public interface ApiInterface {
String[] header = {"Accept:application/json",
"apiKey:12345",
"Content-Type:application/json"};
@Headers(header)
@POST("signup?")
Call<SignupResponse> createUser(@Body SignupData signupData);
@Headers(header)
@POST("another")
....
}
公共接口{
字符串[]头={“接受:应用程序/json”,
“apiKey:12345”,
“内容类型:application/json”};
@标题(标题)
@帖子(“注册?”)
调用createUser(@Body signupdatea signupdatea);
@标题(标题)
@职位(“其他”)
....
}
@header中的header变量创建此错误:
属性必须是常量
如何解决此问题?使用:
@Headers({"Accept:application/json",
"apiKey:12345",
"Content-Type:application/json"})
@POST("another")
请参阅的“标题操作”部分。试试这个
@Headers({"Accept:application/json",
"apiKey:12345",
"Content-Type:application/json"})
@POST("signup?")
Call<SignupResponse> createUser(@Body SignupData signupData);
@Headers({“Accept:application/json”,
“apiKey:12345”,
“内容类型:应用程序/json”})
@帖子(“注册?”)
调用createUser(@Body signupdatea signupdatea);
实际上,我希望避免在每个方法的@Headers()
中写入3行。可能吗?没有其他选择。如果删除、Accept
和Content Type
部分,是否有问题?只需尝试使用@Header()
,它需要String
而不是String[]
使用(“apiKey:12345”)。还有,你为什么不试试改型呢?解决方案就是@Shashanth推荐的链接。我应该使用HttpClient拦截器来添加头来改进obj。