首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以使用Retrofit2 android将API键添加到报头中吗?

可以使用Retrofit2 android将API键添加到报头中吗?
EN

Stack Overflow用户
提问于 2021-12-06 01:00:35
回答 2查看 260关注 0票数 0

无法使API请求与API键一起工作。已经用不使用API密钥的不同API对其进行了测试,该API已起作用。让我觉得我没有正确地添加API键。

使用身份验证选项卡在邮递员上测试它,该选项卡运行良好。

如何使用retrofit2发送密钥访问-密钥和值9xxxxxxxxxxxxxxxx3?

代码

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-06 01:40:01

当您调用R.string.api_key时,您不会得到字符串值,您只会得到它的id,它表示为一个数字。要获得值,您需要具有上下文并调用context.getString(R.string.api_key)。在我们的例子中,最好从string.xml中取出它,并将其放在某个类中。例如

代码语言:javascript
复制
object Constants {
    const val BASE_URL = "http://test.com/"
}

然后在改造里面

代码语言:javascript
复制
 return Retrofit.Builder()
            .baseUrl(Constants.BASE_URL)

但是,如果要从string.xml获取值,则需要更改示例add Context中的getInstance()方法。

票数 0
EN

Stack Overflow用户

发布于 2021-12-06 04:12:31

您可以发送如下所示的标题:

代码语言:javascript
复制
public interface APIService {

//Login
@FormUrlEncoded
@POST("loginAction")
Call<LoginModel> loginMI(
        @Field("username") String username,
        @Field("pwd") String pwd,
        @Header("api_key") String api_key,
        @Header("secret_key") String secret_key
);

}

调用上述API并传递所需的字段和标头。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70239902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档