類注解、方法注解


定義注解類:

@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;
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM