创建一个Intercept

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

  1. class TestInterceptor : Interceptor {
  2. override fun intercept(resource: Resource): Boolean {
  3. println("Through the intercept!")
  4. return true
  5. }
  6. override fun response(resource: Resource): Resource {
  7. return resource
  8. }
  9. }
  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. }
  7. @NotNull
  8. @Override
  9. public Resource response(Resource resource) {
  10. return resource;
  11. }
  12. }

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

使用Interceptor

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

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