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