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 getExcludePath() { return new ArrayList<>(); } @Override public void addInterceptors(InterceptorRegistry registry) { InterceptorRegistration regisration = registry.addInterceptor(new WebInterceptor()); ArrayList 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(); } } }