Len's Study-Log

集中一点,登峰造极!

0%

SpringBootUtils

自定义注解

自定义注解

  • 获取注解的值:
    1. 获取作用在类上的注解值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@Component
@Slf4j
public class TokenInterceptor extends HandlerInterceptorAdapter {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader("token");
if (StringUtils.isBlank(token)) {
token = request.getParameter("token");
}


if(handler instanceof HandlerMethod){
HandlerMethod handlerMethod = (HandlerMethod) handler;
// ExternalApiController类才需要做token验证
if(handlerMethod.getBean() instanceof TestController){
Token tokenObj = handlerMethod.getBeanType().getAnnotation(Token.class);
if(!tokenObj.value().equals(token)){
System.out.println("token错误");
}
}
}
return true;
}
}

  1. 获取作用在方法上的注解值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class TokenInterceptor implements HandlerInterceptor {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader("token");
if (StringUtils.isBlank(token)) {
token = request.getParameter("token");
}
if(handler instanceof HandlerMethod){
HandlerMethod handlerMethod = (HandlerMethod) handler;
// ExternalApiController类才需要做token验证
if(handlerMethod.getBean() instanceof TestController){
Token tokenObj = handlerMethod.getBean().getClass().getAnnotation(Token.class);
if(!tokenObj.token().equals(token)){
System.out.println("token错误");
}
}
}
return true;
}
}