View Javadoc
1   package fr.tiogars.domaintemplate.config;
2   
3   import org.springframework.beans.factory.annotation.Value;
4   import org.springframework.context.annotation.Configuration;
5   import org.springframework.web.servlet.config.annotation.CorsRegistry;
6   import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
7   
8   /**
9    * Configures browser access to the API from the web console.
10   */
11  @Configuration
12  public class ApiCorsConfiguration implements WebMvcConfigurer {
13  
14      private final String[] allowedOrigins;
15  
16      public ApiCorsConfiguration(@Value("${app.cors.allowed-origins}") String[] allowedOrigins) {
17          this.allowedOrigins = allowedOrigins;
18      }
19  
20      @Override
21      public void addCorsMappings(CorsRegistry registry) {
22          registry.addMapping("/api/**")
23                  .allowedOrigins(allowedOrigins)
24                  .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
25                  .allowedHeaders("*")
26                  .maxAge(3600);
27      }
28  }