SpringMvcConfig.java 1.4 KB

123456789101112131415161718192021222324252627282930
  1. package com.llisoft.sms.config;
  2. import org.springframework.context.annotation.Configuration;
  3. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  4. import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
  5. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  6. /**
  7. * 配置spring mvc
  8. * @author YangJie [2018年12月25日]
  9. */
  10. @Configuration
  11. public class SpringMvcConfig implements WebMvcConfigurer {
  12. @Override // 默认首页
  13. public void addViewControllers(ViewControllerRegistry registry) {
  14. registry.addRedirectViewController("/", "/swagger-ui.html");
  15. }
  16. @Override // 静态资源访问
  17. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  18. // 此处手动配置swagger静态资源映射关系,是由于application.yml中配置了spring.resources.addMappings: false,不使用springboot的默认静态资源配置
  19. // 目的是让spingmvc遇到401或404等错误时可以直接把异常抛出而不重定向到/error返回页面,这样所有的异常都会在@ControllerAdvice中统一处理
  20. // 但这样导致swagger静态资源无法访问,so,需要手动配置之
  21. registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  22. registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  23. WebMvcConfigurer.super.addResourceHandlers(registry);
  24. }
  25. }