【发布时间】:2018-05-25 10:39:59
【问题描述】:
我有用于身份验证的自定义拦截器:
@Named("authInterceptor")
@Provides
@Singleton
fun providesAuthInterceptor(preferencesManager: PreferencesManager): Interceptor {
return Interceptor { chain ->
val newBuilder = chain.request().newBuilder()
newBuilder.addHeader("access-token", preferencesManager.getAccessToken())
val request = newBuilder.build()
return@Interceptor chain.proceed(request)
}
}
但我有一些不需要身份验证标头的调用。
我希望在我的服务中拥有的是:
interface NetService {
@NEEDAUTH
@GET("users")
fun getAllShops(key: String): Single<SomeResponse>
@FormUrlEncoded
@POST("users")
fun register(@Field("nickname") nickname: String): Single<SomeResponse>
}
所以,第一个调用将使用 authInterceptor,第二个不会使用它。
【问题讨论】:
-
请分享代码,如果你至少得到了答案或一些提示
标签: android retrofit2 interceptor okhttp3