首先你得有web环境,这个就不说了,springboot下很简单。
一、拦截器使用
我们先来使用一下拦截器。
步骤1、先创建一个Controller
@RestController
@RequestMapping("/test")
public class MyController {
@GetMapping("/test/{name}")
public String test(@PathVariable(name = "name") String name) {
System.out.println("MyController.test invoke:" + name);
return name;
}
}
逻辑很简单,就是一个get请求,携带一个name参数,并且把这个name返回给前端。
步骤2、创建拦截器
// 拦截器,只需要实现 HandlerInterceptor 接口即可
public class MyInterceptor implements HandlerInterceptor {
// 请求处理之前触发,如果返回 true,则继续执行往下走,否则就直接返回
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("MyInterceptor.preHandle invoke");
String requestURI = request.getRequestURI();
if (requestURI.contains("/test")) {
return true;
}
return false;
}
// 请求处理之后触发,如果 preHandle 返回 true,则执行 postHandle
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("MyInterceptor.postHandle invoke");
}
// 请求处理之后触发,如果 preHandle 返回 true,则执行 afterCompletion
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,