1.自定义过滤器实现接口HandlerInterceptor

package com.huacheng.config;

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;

@Component
public class TimeInterceptor implements HandlerInterceptor {
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println(">>>>>>>>>>>preHandle执行了<<<<<<<<<<<<<<<<<<");
        return true;
    }

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {
        System.out.println(">>>>>>>>>>>postHandle执行了<<<<<<<<<<<<<<<<<<");
    }

    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {
        System.out.println(">>>>>>>>>>>afterCompletion执行了<<<<<<<<<<<<<<<<<<");
    }
}

2.定义一个配置类,把这个自定义的过滤器注册进去

package com.huacheng.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Autowired
    private TimeInterceptor timeInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(timeInterceptor);
    }
}

3.写一个控制器测试

package com.huacheng.controller;


import com.huacheng.domain.User;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @PostMapping("/user/getUser")
    public String getUser(User user) {
        System.out.println(user);
        return "hello";
    }

}

4.使用postman工具测试

控制台打印如下

测试结果.png

postman工具相应结果

测试结果.png


uyoaix
17 声望0 粉丝

菜鸟一枚