Addition

本文主要介绍Addition类的使用方法,开发者不可将Addition类和Addition注解混淆。

在学习使用Addition之前,开发者应该先了解Addition注解和HandlerInterceptor类。

Addition类的属性对应的是Addition注解的参数。

示例

我们在一个Http Api的方法上添加Addition注解,增加一些附加信息:

@RestController
class UserController {

    @Addition(stringType = "needLogin", booleanType = true)
    @GetMapping(path = "/get")
    UserInfo userInfo() {
        ...
    }
}

然后可以在HandlerInterceptor中获取这些附加信息:

```java
@Interceptor
public class LoginInterceptor implements HandlerInterceptor {

    @Override
    public boolean onIntercept(HttpRequest request, HttpResponse response,
        RequestHandler handler) {
        if (handler instanceof MethodHandler) {
            MethodHandler methodHandler = (MethodHandler)handler;
            Addition addition = methodHandler.getAddition();
            ...
        }

        ...
    }
}

注意:必须先判断RequestHandler是不是MethodHandler,只有MethodHandler才是Controller中的方法,其它可能是网页、CSS文件等。

results matching ""

    No results matching ""