Ваша реализация добавит одну и ту же начальную метку времени ко всем запросам, выполняемым экземпляром дооснащения.Это то, что вы хотите?
Если вы хотите, чтобы текущая / последняя отметка времени была частью пути URL в каждом вызове, используйте перехватчик:
val okHttpClient = OkHttpClient.Builder()
.addInterceptor( object : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val originalRequest = chain.request()
val originalHttpUrl = originalRequest.url()
val timestampUrl = originalHttpUrl.newBuilder()
.addPathSegment(System.currentTimeMillis().toString())
.build()
val requestBuilder = originalRequest.newBuilder()
.url(timestampUrl)
return chain.proceed(requestBuilder.build())
}
})
.build()
val retrofit = Retrofit.Builder()
.baseUrl(API.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build()
Если вы хотите передать отметку временив качестве параметра запроса, как предложил Евгений, замените перехватчик на что-то вроде:
object : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val originalRequest = chain.request()
val originalHttpUrl = originalRequest.url()
val timestampUrl = originalHttpUrl.newBuilder()
.addQueryParameter("timestamp", System.currentTimeMillis().toString())
.build()
val requestBuilder = originalRequest.newBuilder()
.url(timestampUrl)
return chain.proceed(requestBuilder.build())
}
}