wangyunpeng пре 5 дана
родитељ
комит
a143b1e22c

+ 7 - 9
core/src/main/java/com/tzld/videoVector/config/WebMvcConfig.java

@@ -1,20 +1,18 @@
 package com.tzld.videoVector.config;
 package com.tzld.videoVector.config;
 
 
-import com.tzld.videoVector.interceptor.CrosDomainAllowInterceptor;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 
 @Configuration
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
 public class WebMvcConfig implements WebMvcConfigurer {
 
 
-    @Autowired
-    private CrosDomainAllowInterceptor crosDomainAllowInterceptor;
-
     @Override
     @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        registry.addInterceptor(crosDomainAllowInterceptor)
-                .addPathPatterns("/**");
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOriginPatterns("*")
+                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
+                .allowedHeaders("*")
+                .allowCredentials(true);
     }
     }
 }
 }

+ 0 - 38
core/src/main/java/com/tzld/videoVector/interceptor/CrosDomainAllowInterceptor.java

@@ -1,38 +0,0 @@
-package com.tzld.videoVector.interceptor;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-@Component
-public class CrosDomainAllowInterceptor implements HandlerInterceptor {
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
-            throws Exception {
-        response.addHeader("Access-Control-Allow-Origin", "*");
-        response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
-        response.addHeader("Access-Control-Allow-Headers", "*");
-        if (request.getMethod().equals(RequestMethod.OPTIONS.name())) {
-            response.setStatus(HttpStatus.OK.value());
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
-                           ModelAndView modelAndView) throws Exception {
-    }
-
-    @Override
-    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
-            throws Exception {
-    }
-
-}

+ 1 - 1
server/src/main/java/com/tzld/videoVector/Application.java

@@ -9,7 +9,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 
 
 /**
 /**
- * CORS 由 K8s Ingress / 阿里云 Tengine 网关统一处理,后端不再重复加 CORS 头,
+ * CORS 由 WebMvcConfig 统一处理,网关层不要重复加 CORS 头,
  * 否则浏览器会因 Access-Control-Allow-Origin 出现多个值而拦截响应。
  * 否则浏览器会因 Access-Control-Allow-Origin 出现多个值而拦截响应。
  *
  *
  * @MapperScan 由各 DBConfig (PgVectorDBConfig / VideoVectorDBConfig) 分包配置,
  * @MapperScan 由各 DBConfig (PgVectorDBConfig / VideoVectorDBConfig) 分包配置,

+ 1 - 1
server/src/main/java/com/tzld/videoVector/controller/VectorRecallTestController.java

@@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
  * 向量召回测试 Controller
  * 向量召回测试 Controller
  * 提供给前端测试页面使用,只新增接口,不修改现有接口逻辑。
  * 提供给前端测试页面使用,只新增接口,不修改现有接口逻辑。
  *
  *
- * MVP 不加鉴权。CORS 由全局拦截器 CrosDomainAllowInterceptor 统一处理。
+ * MVP 不加鉴权。CORS 由 WebMvcConfig 统一处理。
  */
  */
 @RestController
 @RestController
 @RequestMapping("/recallTest")
 @RequestMapping("/recallTest")