diff --git a/src/main/java/com/lmco/spectrum/systemnavigation3d/ServletInitializer.java b/src/main/java/com/lmco/spectrum/systemnavigation3d/ServletInitializer.java index cf5e384..401fed8 100644 --- a/src/main/java/com/lmco/spectrum/systemnavigation3d/ServletInitializer.java +++ b/src/main/java/com/lmco/spectrum/systemnavigation3d/ServletInitializer.java @@ -2,7 +2,9 @@ import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +@EnableWebMvc public class ServletInitializer extends SpringBootServletInitializer { @Override diff --git a/src/main/java/com/lmco/spectrum/systemnavigation3d/config/ApiWebConfig.java b/src/main/java/com/lmco/spectrum/systemnavigation3d/config/ApiWebConfig.java new file mode 100644 index 0000000..afe7552 --- /dev/null +++ b/src/main/java/com/lmco/spectrum/systemnavigation3d/config/ApiWebConfig.java @@ -0,0 +1,49 @@ +package com.lmco.spectrum.systemnavigation3d.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class ApiWebConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowCredentials(true) + .allowedOrigins("*") + .allowedHeaders("*") + .allowedMethods( + HttpMethod.OPTIONS.name(), + HttpMethod.GET.name(), + HttpMethod.POST.name(), + HttpMethod.PUT.name(), + HttpMethod.PATCH.name(), + HttpMethod.DELETE.name()) + .maxAge(1800L); + } + + @Bean + public CorsFilter corsFilter() { + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + CorsConfiguration config = new CorsConfiguration(); + config.setAllowCredentials(true); + config.addAllowedOrigin("*"); + config.addAllowedHeader("*"); + config.addAllowedMethod(HttpMethod.OPTIONS); + config.addAllowedMethod(HttpMethod.GET); + config.addAllowedMethod(HttpMethod.POST); + config.addAllowedMethod(HttpMethod.PUT); + config.addAllowedMethod(HttpMethod.PATCH); + config.addAllowedMethod(HttpMethod.DELETE); + config.setMaxAge(1800L); + source.registerCorsConfiguration("/**", config); + return new CorsFilter(source); + } + +}