package com.moral.api.config.Interceptor; 
 | 
  
 | 
import org.springframework.boot.context.properties.ConfigurationProperties; 
 | 
import org.springframework.boot.system.ApplicationHome; 
 | 
import org.springframework.context.annotation.Bean; 
 | 
import org.springframework.context.annotation.Configuration; 
 | 
import org.springframework.web.servlet.config.annotation.*; 
 | 
  
 | 
import java.util.ArrayList; 
 | 
  
 | 
import com.moral.api.interceptor.WebInterceptor; 
 | 
  
 | 
@Configuration 
 | 
public class WebAppConfiguration implements WebMvcConfigurer { 
 | 
  
 | 
    //读取不需拦截路径 
 | 
    @Bean 
 | 
    @ConfigurationProperties("mvc.interceptor.exclude") 
 | 
    public ArrayList<String> getExcludePath() { 
 | 
        return new ArrayList<>(); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void addInterceptors(InterceptorRegistry registry) { 
 | 
        InterceptorRegistration regisration = registry.addInterceptor(new WebInterceptor()); 
 | 
        ArrayList<String> excludePath = getExcludePath(); 
 | 
        regisration.addPathPatterns("/**/**");//设置拦截路径 
 | 
        regisration.excludePathPatterns(excludePath);//设置不拦截路径 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 添加静态资源文件,外部可以直接访问地址 
 | 
     * 
 | 
     * @param registry 
 | 
     */ 
 | 
    @Override 
 | 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
 | 
        try { 
 | 
            ApplicationHome h = new ApplicationHome(getClass()); 
 | 
            //在jar包所在目录下生成一个upload文件夹用来存储上传的图片 
 | 
            String path = h.getSource().getParentFile().toString() + "/static/"; 
 | 
            registry.addResourceHandler("/static/**").addResourceLocations("file:" + path); 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
  
 | 
    } 
 | 
} 
 |