zoukankan      html  css  js  c++  java
  • spring boot配置springMVC拦截器

      spring boot通过配置springMVC拦截器

      配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法.

      1.配置拦截器:

     

    2重写方法

    这样就实现了拦截器.

      其中,在重写方法的逻辑中, 增加了一个注解,  这个注解的作用是:当方法头加上这个注解之后, 拦截器直接放行

    这里说一下3个方法:

    preHandle:预处理回调方法,实现处理器的预处理, 有返回值, true表示继续流程,  false表示中断流程,通过response产生响应

    postHandle:后处理回调方法,实现处理器的后处理

    afterCompletion:整个请求处理完成回调方法

    在方法头增加注解

    这样有一些对安全没必要太严格,  不需要校验token的接口就加上这个注解就可以.

    接下来 WebMvcConfigurationSupport 配置静态资源

     还有个addViewControllers的方法可以配置视图

    拦截器的实现还有一种方式:  WebRequestInterceptor, 这里说下他们的不同点, 具体的代码实现都差不多

    WebRequestInterceptor 的 preHandle  没有返回值, 方法参数中没有response, 获取request更方便, 不影响后续流程, .   也就是说WebRequestInterceptor 更针对处理请求, 比如预设参数等.

    HandlerInterceptor 的 preHandle  有返回值, 会影响到后续处理, 有response, 获取request相对会稍微多写点代码, 更注重业务处理, 比如12306可以判断是否售票时间内, 权限, 请求验签等等.

    例如本文的业务是校验token, 登录权限

    整体来说HandlerInterceptor的功能更强大, 但获取request相对代码会多点

  • 相关阅读:
    Codeforces461E Appleman and a Game 做题心得
    关于贪心问题的处理
    各种容斥 笔记
    博弈论 笔记
    家庭多个路由器组网方案(AP+AC)
    21.06.06 训练赛
    Redirect...
    Web Api实践系列(三)route特性使用
    《Red Tuner》隐私政策
    前缀和-1915. 最美子字符串的数目
  • 原文地址:https://www.cnblogs.com/-xuzhankun/p/9110478.html
Copyright © 2011-2022 走看看