在 API Header 中更改 user-type 或使用变量更改 header

Change user-type in API Header or change header using variable

我在全局中声明了一个final变量

public static final String USERTYPE="customer"

然后我用这个变量作为

@POST
@Headers({
        "Content-Type: application/json;charset=utf-8",
        "Accept: application/json;charset=utf-8",
        "Cache-Control: max-age=640000",
        "user-type: " + APIService.STRING
})
Call<ReturnPojo> addpost(@Url String s, @Body Add body);

稍后在我的程序中,我需要更改

USERTYPE="guest"

我试试

1.USERTYPE.replace("customer","guest");

2.String user="customer"
  USERTYPE=user;

我怎样才能做到这一点?或如何更改 java?

中的最终变量

你不能。您已将 USERTYPE 声明为最终类型,因此唯一的选择是使用不同的字符串。

更改页眉 Run-time(改造 API)

我们无法更改最终变量,因此我们无法以编程方式更改用户类型。通过复制代码不是好的做法。但是我们可以通过这个来完成,

@POST
Call<ReturnPojo> addpost(@Url String s,
        @Body Add body,
        @Header("user-type") String user_type,
        @Header("Content-Type") String content_type,
        @Header("Accept") String accept,
        @Header("Cache-Control") String cache_controller);

最后,当我们调用 API 时,只需将数据作为参数传递。