欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot引入攔截器并放行swagger代碼實(shí)例

 更新時間:2019年11月12日 10:21:50   作者:濤先森の日常  
這篇文章主要介紹了Springboot引入攔截器并放行swagger代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Springboot引入攔截器并放行swagger代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

Springboot引入攔截器

自定義的攔截器類 Interceptor

package cn.zytao.taosir.auth.config;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class AuthInterceptor implements HandlerInterceptor{
  
  /**
   * 請求處理之后
   */
  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
      throws Exception {
    // TODO Auto-generated method stub
    HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
  }

  /**
   * 請求處理之后調(diào)用
   */
  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
      ModelAndView modelAndView) throws Exception {
    // TODO Auto-generated method stub
    HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
  }

  /**
   * 請求處理之前
   */
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
      throws Exception {
    return HandlerInterceptor.super.preHandle(request, response, handler);
  }
}

將攔截器添加到springmvc配置中,并放行swagger的相關(guān)資源

package cn.zytao.taosir.auth.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class SpringMVCConfig extends WebMvcConfigurationSupport{
  @Bean
  public AuthInterceptor getAuthInterceptor() {
    return new AuthInterceptor();
  }
  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry
    .addInterceptor(getAuthInterceptor())
    .addPathPatterns("/**")
    .excludePathPatterns("/login")
    .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**");
    super.addInterceptors(registry);
  }
  @Override
  protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
    .addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("/webjars/**")
    .addResourceLocations("classpath:/META-INF/resources/webjars/");
    super.addResourceHandlers(registry);
  }
}

在addInterceptors方法中添加攔截器時,是new的一個攔截器。而并不是引入springBean容器初始化時,已經(jīng)初始化好了的bean實(shí)例,并不是同一個對象,故而訪問時肯定是無法引入Interceptor類里面引入的bean實(shí)例,可能產(chǎn)生空指針異常。

即無法引入默認(rèn)注入的Bean,那么我們就自己定義一個Bean,然后在攔截器添加方法內(nèi)引入這個bean即可,上面主要對此進(jìn)行了處理。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 修改SpringBoot啟動圖標(biāo)banner的兩種方式

    修改SpringBoot啟動圖標(biāo)banner的兩種方式

    Banner即橫幅標(biāo)語,我們在啟動SpringBoot項目時會將Banner信息打印至控制臺,我們可以輸出一些圖形、SpringBoot版本信息等內(nèi)容,有很多小伙伴想知道如何修改SpringBoot啟動圖標(biāo)banner,接下來由小編給大家介紹一下吧
    2024-08-08
  • java實(shí)現(xiàn)文件上傳下載

    java實(shí)現(xiàn)文件上傳下載

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文件上傳下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 如何解決java:錯誤:無效的源發(fā)行版:16

    如何解決java:錯誤:無效的源發(fā)行版:16

    這篇文章主要介紹了如何解決java:錯誤: 無效的源發(fā)行版:16問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Spring?@InitBinder注解使用及原理詳解

    Spring?@InitBinder注解使用及原理詳解

    這篇文章主要為大家介紹了Spring?@InitBinder注解使用及原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • java實(shí)現(xiàn)簡單的圖書借閱系統(tǒng)

    java實(shí)現(xiàn)簡單的圖書借閱系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單的圖書借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • java中的異或問題代碼解析

    java中的異或問題代碼解析

    這篇文章主要介紹了java中的異或問題代碼解析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 詳解SpringBoot讀取resource目錄下properties文件的常見方式

    詳解SpringBoot讀取resource目錄下properties文件的常見方式

    這篇文章主要介紹了SpringBoot讀取resource目錄下properties文件的常見方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 一篇帶你入門Java垃圾回收器

    一篇帶你入門Java垃圾回收器

    垃圾收集器是垃圾回收算法(標(biāo)記-清除算法、復(fù)制算法、標(biāo)記-整理算法、火車算法)的具體實(shí)現(xiàn),不同商家、不同版本的JVM所提供的垃圾收集器可能會有很在差別
    2021-06-06
  • 了解SpringMVC的上傳和下載

    了解SpringMVC的上傳和下載

    今天小編就為大家分享一篇關(guān)于Spring整合Springmvc的相關(guān)介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-07-07
  • Intellij IDEA 斷點(diǎn)不可用報錯 No executable code found

    Intellij IDEA 斷點(diǎn)不可用報錯 No executable 

    這篇文章主要介紹了Intellij IDEA 斷點(diǎn)不可用報錯 No executable code found問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評論