java注解拦截_轻松实现java拦截器+自定义注解

本文将用简洁的代码构建一个springboot的拦截器。拦截器的使用很简单,定义一个自己的拦截器,向配置中添加一下就可以使用。为了方便,之后又引入了注解。

目录和概述

概述

假设需求:访问项目的controller是都要进行"token验证",除了某些像登录之类的方法。

项目结构:

TokenInterceptor.java 自定义拦截器

InterceptorConfig.java 添加拦截器进入项目

NoNeedToken.java 自定义注解

TestController.java 测试接口

java注解拦截_轻松实现java拦截器+自定义注解_第1张图片

目录

1、自定义拦截器

在 TokenInterceptor.java 中输入以下代码,以下的代码将生成一个在请求到达controller前进行拦截的拦截器

import com.alibaba.fastjson.JSONObject;

import org.springframework.lang.Nullable;

import org.springframework.stereotype.Component;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.PrintWriter;

import java.util.Arrays;

import java.util.List;

@Component

public class TokenInterceptor implements HandlerInterceptor {

// 假设现在的token有如下数据

List tokenList = Arrays.asList("111", "222", "333");

// 这个方法是在访问接口之前执行的,我们只需要在这里写验证登陆状态的业务逻辑,就可以在用户调用指定接口之前验证登陆状态了

@Override

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

你可能感兴趣的:(java注解拦截)