From fd399f34b5f12a5cf6e6042f9291e9b51f16dc53 Mon Sep 17 00:00:00 2001 From: mama-samba-braima Date: Tue, 29 Jul 2025 00:49:01 +0100 Subject: [PATCH] add cors configuration via WebMvcConfigurer.addCorsMappings --- .../com/amigoscode/config/WebMvcConfig.java | 28 +++++++++++++++++++ src/main/resources/application.properties | 5 +++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/amigoscode/config/WebMvcConfig.java diff --git a/src/main/java/com/amigoscode/config/WebMvcConfig.java b/src/main/java/com/amigoscode/config/WebMvcConfig.java new file mode 100644 index 0000000..f863e39 --- /dev/null +++ b/src/main/java/com/amigoscode/config/WebMvcConfig.java @@ -0,0 +1,28 @@ +package com.amigoscode.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.List; + +@Configuration +public class WebMvcConfig implements WebMvcConfigurer { + +// cors.allowed.origins=* + @Value("#{'${cors.allowed.origins}'.split(',')}") + private List allowedOrigins; + +// cors.allowed.methods=* + @Value("#{'${cors.allowed.methods}'.split(',')}") + private List allowedMethods; + + @Override + public void addCorsMappings(CorsRegistry registry) { + CorsRegistration corsRegistration = registry.addMapping("/api/**"); + allowedOrigins.forEach(corsRegistration::allowedOrigins); + allowedMethods.forEach(corsRegistration::allowedMethods); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0d37076..ee25d64 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -8,4 +8,7 @@ spring.jpa.hibernate.ddl-auto=validate spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true -server.error.include-message=always \ No newline at end of file +server.error.include-message=always + +cors.allowed.origins=* +cors.allowed.methods=*