WebMvcConfig.java 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.izouma.awesomeAdmin.config;
  2. import org.springframework.beans.factory.annotation.Value;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.context.support.ResourceBundleMessageSource;
  6. import org.springframework.web.servlet.config.annotation.CorsRegistry;
  7. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  8. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  9. import springfox.documentation.builders.ApiInfoBuilder;
  10. import springfox.documentation.builders.PathSelectors;
  11. import springfox.documentation.builders.RequestHandlerSelectors;
  12. import springfox.documentation.spi.DocumentationType;
  13. import springfox.documentation.spring.web.plugins.Docket;
  14. @Configuration
  15. public class WebMvcConfig implements WebMvcConfigurer {
  16. @Value("${storage.local_path}")
  17. private String localPath;
  18. @Override
  19. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  20. // registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  21. // registry.addResourceHandler("webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  22. registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
  23. registry.addResourceHandler("/files/**").addResourceLocations("file:" + localPath);
  24. }
  25. @Bean
  26. public Docket createApi() {
  27. return new Docket(DocumentationType.SWAGGER_2)
  28. .apiInfo(new ApiInfoBuilder()
  29. .title("接口文档")
  30. .version("1.0.0")
  31. .termsOfServiceUrl("#")
  32. .description("接口文档")
  33. .build())
  34. .select()
  35. .apis(RequestHandlerSelectors.basePackage("com.izouma.awesomeAdmin.web"))
  36. .paths(PathSelectors.any())
  37. .build();
  38. }
  39. // @Bean
  40. // public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() {
  41. // MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
  42. // //设置日期格式
  43. // ObjectMapper objectMapper = new ObjectMapper();
  44. // objectMapper.setDateFormat(CustomDateFormat.instance);
  45. // objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
  46. // mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
  47. // //设置中文编码格式
  48. // List<MediaType> list = new ArrayList<>();
  49. // list.add(MediaType.APPLICATION_JSON_UTF8);
  50. // mappingJackson2HttpMessageConverter.setSupportedMediaTypes(list);
  51. // return mappingJackson2HttpMessageConverter;
  52. // }
  53. // @Override
  54. // public void addFormatters(FormatterRegistry registry) {
  55. // DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
  56. // registrar.setUseIsoFormat(true);
  57. // registrar.registerFormatters(registry);
  58. // }
  59. @Override
  60. public void addCorsMappings(CorsRegistry registry) {
  61. registry.addMapping("/**")
  62. .allowedHeaders("*")
  63. .allowCredentials(true)
  64. .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH")
  65. .exposedHeaders("Content-Disposition");
  66. }
  67. @Bean
  68. public ResourceBundleMessageSource messageSource() {
  69. ResourceBundleMessageSource rs = new ResourceBundleMessageSource();
  70. rs.setBasename("messages");
  71. rs.setDefaultEncoding("UTF-8");
  72. rs.setUseCodeAsDefaultMessage(true);
  73. return rs;
  74. }
  75. }