创建一个Intercept
Intercept是用于放在 @API 注解里的拦截器,作用于整个类。让我们来看下一个简单的例子吧。
class TestInterceptor : Interceptor {
override suspend fun intercept(resource: Resource): Boolean {
resource.setCookie("before", "interceptor")
return true
}
override suspend fun response(resource: Resource): Resource {
return resource
}
}
创建一个类后需要实现 Interceptor 类,当请求进来时会自动执行 intercept 方法中的内容,如果里面返回 false 则会自动执行 response 方法,如果返回 true 则进入下一阶段。
使用Interceptor
使用 Interceptor 也非常简单,只需要在 @API 注解中配置下即可。
@API("/",interceptor = arrayOf(TestInterceptor::class))