在Retrofit的请求中,需要手动添加所有要传递的头部参数到OkHttp的请求构建器中,例如:
val accessToken = "abcdef12345"
val userId = "12345"
val headers = HashMap()
headers["Authorization"] = "Bearer $accessToken"
headers["userId"] = userId
val okHttpClient = OkHttpClient.Builder()
.addInterceptor { chain ->
val originalRequest = chain.request()
val requestBuilder = originalRequest.newBuilder()
.headers(Headers.of(headers))
.method(originalRequest.method(), originalRequest.body())
chain.proceed(requestBuilder.build())
}
.build()
Retrofit.Builder()
.baseUrl(BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(ApiService::class.java)
.makeApiCall()
在这个示例中,我们手动将“Authorization”和“userId”头部参数添加到OkHttp的请求构建器中,确保它们会被包含在请求中。