I need to set different cache time to different endpoints, what are the best practices for that?
This is my Retrofit interface:
public interface ServerApi {
@GET("a1")// need to get 10 mintuns cache time
Observable<A1> getA1();
@GET("a2")// need to get 20 mintuns cache time
Observable<A2> getA2();
@GET("a3")// need to get 30 mintuns cache time
Observable<A3> getA3();
This is my network class:
public class Network {
Network() {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BASIC);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addNetworkInterceptor(logging)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BuildConfig.BASE_URL)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
retrofit.create(ServerApi.class);
}}