java - Retrofit @Header 中的属性必须是常量

标签 java android header retrofit2

我想将 header 传递给改造 api 中的每个 POST 请求。由于我听到了很多方法,因此我无法复制/粘贴每个方法的 header 信息。

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")
    ....
}

@HEADER 中的 header 变量会创建此错误:

Attribute must be constant

如何解决这个问题?

最佳答案

试试这个

@Headers({"Accept:application/json",
            "apiKey:12345",
            "Content-Type:application/json"})
@POST("signup?")
    Call<SignupResponse> createUser(@Body SignupData signupData);

关于java - Retrofit @Header 中的属性必须是常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58789135/

相关文章:

java - 从客户端浏览器读取/写入 HSQL 的最佳实践是什么?

java - Lottie - setProgress 无法正常工作

html - Twitter 喜欢固定标题

css - 响应式设计失败

java - 如何真正将 JFrame 中的对象居中?

java - ListView 项目删除更改项目高度

android - 如何在自定义 View 中设置填充?

Android Spinner onItemSelected 未在 Fragment 内部调用

c - C 中的预处理器指令 : macros using __LINE__

java - 从用户获取 http 请求并使用 REST API 将该变量值存储到任何数据结构中