gpt4 book ai didi

retrofit2 - 我应该在使用 Retrofit 的每个请求中传递我的 APIKEY 吗?

转载 作者:行者123 更新时间:2023-12-05 02:59:12 26 4
gpt4 key购买 nike

我想知道将我的 APIKEY 放入所有 REST 请求中而不必将其添加到请求参数中的最佳方法。

目前我只接到了几个电话,但我想看得更远。

@GET(".")
fun getSearch(@Query("s") text: String, @Query("apikey") APIKEY: String) : Observable<ResponseSearch>

我想知道是否有办法不在每次调用的变量中都包含 APIKEY

最佳答案

可以,但更好的解决方案是使用 Okhttp Interceptors

这是一个例子:

class TokenInterceptor(private val preferencesStorage: SharedPreferencesStorage) : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
var original = chain.request()
val token = preferencesStorage.getAccessToken()
val url = original.url().newBuilder().addQueryParameter("apikey", token).build()
original = original.newBuilder().url(url).build()
return chain.proceed(original)
}
}

您还应该将 TokenInterceptor 添加到您的 Okhttp 客户端构建器

val client = OkHttpClient.Builder()
.addInterceptor(TokenInterceptor(SharedPreferencesStorage()))
.build()

关于retrofit2 - 我应该在使用 Retrofit 的每个请求中传递我的 APIKEY 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58197935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com