• 类注解、方法注解


    定义注解类:

    @Target({ElementType.TYPE, ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    public @interface SignCheck {
    
        RequiredType required() default RequiredType.FORCE;
        
    }

    RequiredType枚举类:

    public enum RequiredType {
        /**
         * 强登录
         */
        FORCE,
    
        /**
         * 登录不等录都行
         */
        WEAK
    
    }

    定义拦截器:

    public class ApiSignInterceptor extends HandlerInterceptorAdapter {
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
            SignCheck signCheck = InterceptorUtils.getAnnotation(handler, SignCheck.class);
            if (signCheck == null) {
                return true;
            } else {
                return signCheck(request, response);
            }
        }
    
        private boolean signCheck(HttpServletRequest request, HttpServletResponse response) {
            // 判断逻辑
            return false;
        }
    
    }
  • 相关阅读:
    服务器 空间
    android 手动打包
    sql server 2000 完全卸载 2
    apk 优化
    asp.net 画 数据图表
    java 运行 bat win linux
    vb 生成 批处理
    国内平台
    委托
    observer 观察者模式
  • 原文地址:https://www.cnblogs.com/koushr/p/11907896.html
Copyright © 2020-2023  润新知