springboot拦截器配置

1、首先我们需要创建interceptor并实现springMVC中的HandlerInterceptor

复制代码
package com.example.cybg.web.intercepter;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println(request.getHeader("token"));

        return false;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("请求拦截后");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("请求处理完成后");
    }


}

2、我们需要创建拦截器对应的配置类

复制代码
package com.example.cybg.config;

import com.example.cybg.web.intercepter.MyInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //这种方式会拦截所有请求
        registry.addInterceptor(new MyInterceptor());
        //这种方式会拦截指定的请求
//        registry.addInterceptor(new MyInterceptor()).addPathPatterns("/helloInterceptor");
    }
}

3、这样一个后端拦截器就配置好了,快去动手发个请求试试吧。

相关推荐
橙子家2 分钟前
WebAPI 项目通过 CI/CD 自动化部署到 Linux 服务器(docker-compose)
后端
2301_7806698610 分钟前
文件字节流输出、文件复制、关闭流的方法
java
剑锋所指,所向披靡!1 小时前
C++之类模版
java·jvm·c++
钟离墨笺1 小时前
Go语言--2go基础-->基本数据类型
开发语言·前端·后端·golang
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-0到1全流程研发:DDD、TDD与CICD协同实践
java·人工智能·spring boot·架构·ddd·tdd
sheji34161 小时前
【开题答辩全过程】以 面向高校校园的物物交换系统设计与实现为例,包含答辩的问题和答案
java·eclipse
卓怡学长2 小时前
m115乐购游戏商城系统
java·前端·数据库·spring boot·spring·游戏
2501_944526422 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 蜘蛛纸牌游戏实现
android·java·python·flutter·游戏
打工的小王2 小时前
java并发编程(三)CAS
java·开发语言
飞Link2 小时前
【Django】Django的静态文件相关配置与操作
后端·python·django