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、这样一个后端拦截器就配置好了,快去动手发个请求试试吧。

相关推荐
神奇小汤圆7 小时前
一文读懂 OpenAI Codex 源码的原理、架构与未来
后端
道友可好7 小时前
AI 是最好的混乱放大器:代码熵管理实战
前端·人工智能·后端
掘金者阿豪8 小时前
写了很多内容后,我还是决定给自己搭一个Typecho博客
后端
Younglina8 小时前
打了3年羽毛球球才发现:我对自己的装备和胜率一无所知
前端·后端
Go_error9 小时前
Datatypes:Go 轻松支持数据库JSON类型
后端·go
长大19889 小时前
新手必踩 Redis 10 个低级坑:过期时间、KEYS 命令、持久化误区
后端
Csvn10 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
Csvn10 小时前
定时任务 — Crontab 从入门到生产实战
后端
ServBay11 小时前
Laravel Herd MCP 的替代,多语言与跨平台的 AI 本地开发选择
后端·ai编程·mcp