From 7e95a34755a9781d324bb92a0656a726df7778ca Mon Sep 17 00:00:00 2001 From: tingnuanx Date: Wed, 13 May 2026 12:00:06 +0800 Subject: [PATCH] feat: add CORS configuration for frontend development - Add CorsConfig allowing cross-origin requests from DevEco Studio emulator - Configure /api/** endpoints with common HTTP methods - Use allowedOriginPatterns for credential support - Set maxAge to 3600s for preflight cache Closes #14 Co-authored-by: Jiang Guowei <109208869+lechan775@users.noreply.github.com> --- .../demo_backend/config/CorsConfig.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 demo_backend/src/main/java/org/example/demo_backend/config/CorsConfig.java diff --git a/demo_backend/src/main/java/org/example/demo_backend/config/CorsConfig.java b/demo_backend/src/main/java/org/example/demo_backend/config/CorsConfig.java new file mode 100644 index 0000000..f167a46 --- /dev/null +++ b/demo_backend/src/main/java/org/example/demo_backend/config/CorsConfig.java @@ -0,0 +1,23 @@ +package org.example.demo_backend.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * CORS 配置,允许前端开发阶段从 DevEco Studio 模拟器 / 浏览器跨域访问后端 API。 + * 生产环境部署时应将 allowedOrigins 限制为具体域名。 + */ +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/api/**") + .allowedOriginPatterns("*") + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") + .allowedHeaders("*") + .allowCredentials(true) + .maxAge(3600); + } +}