创建一个Intercept

Intercept是用于放在@API注解里的拦截器,作用于整个类。让我们来看下一个简单的例子吧。

1. class TestInterceptor : Interceptor {

3. override fun intercept(resource: Resource): Boolean {
4. println("Through the intercept!")
5. return true
6. }

8. override fun response(resource: Resource): Resource {
9. return resource
10. }

13. }
1. public class TestInterceptor implements Interceptor {
2. @Override
3. public boolean intercept(Resource resource) {
4. System.out.println("Through the intercept!");
5. return true;
6. }

8. @NotNull
9. @Override
10. public Resource response(Resource resource) {
11. return resource;
12. }
13. }

创建一个类后需要实现Interceptor类,当请求进来时会自动执行intercept方法中的内容,如果里面返回false则会自动执行response方法,如果返回true则进入下一阶段。

使用Interceptor

使用Interceptor也非常简单,只需要在@API注解中配置下即可。

1. @API("/",interceptor = arrayOf(TestInterceptor::class))
1. @API(value = "/",interceptor = {TestInterceptor.class})