Mure 1 månad sedan
förälder
incheckning
ad8355229a

+ 16 - 1
src/main/java/com/backendsys/modules/common/config/security/utils/HttpRequestUtil.java

@@ -1,6 +1,7 @@
 package com.backendsys.modules.common.config.security.utils;
 
 import cn.hutool.core.convert.Convert;
+import cn.hutool.json.JSONObject;
 import com.backendsys.utils.CommonUtil;
 import io.jsonwebtoken.Claims;
 import jakarta.servlet.http.HttpServletRequest;
@@ -20,7 +21,7 @@ public class HttpRequestUtil {
     private TokenUtil tokenUtil;
 
     /**
-     * 获取HttpServletRequest 对象
+     * 获取 HttpServletRequest 对象
      */
     public HttpServletRequest getRequest() {
         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
@@ -28,6 +29,20 @@ public class HttpRequestUtil {
         return request;
     }
 
+    /**
+     * 获得请求头 request headers
+     */
+    public JSONObject getHeaders() {
+        HttpServletRequest request = getRequest();
+        JSONObject headers = new JSONObject();
+        request.getHeaderNames()
+            .asIterator()
+            .forEachRemaining(name -> {
+                headers.put(name, request.getHeader(name));
+            });
+        return headers;
+    }
+
     public String getBrowserWindowUUID() {
         // 获取当前请求的上下文
         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

+ 19 - 19
src/main/java/com/backendsys/modules/sdk/tencentcloud/ems/controller/TencentEmsController.java

@@ -1,5 +1,6 @@
 package com.backendsys.modules.sdk.tencentcloud.ems.controller;
 
+import cn.hutool.json.JSONObject;
 import com.backendsys.modules.common.config.security.annotations.Anonymous;
 import com.backendsys.modules.common.config.security.utils.HttpRequestUtil;
 import com.backendsys.modules.common.utils.Result;
@@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 
 @RestController
 @Tag(name = "腾讯云-邮件回调")
@@ -32,26 +35,18 @@ public class TencentEmsController {
     @Anonymous
     @Operation(summary = "邮件推送 (测试)")
     @GetMapping("/api/ems/send")
-    public Result send(Object body) {
+    public Result send(String email) {
 
         // 再尝试输出一下:来源地址、URL参数、headers
         System.out.println("===============================");
         System.out.println("邮件推送 (测试)");
-        System.out.println("body参数: " + body);
-        System.out.println("===============================");
         // 1. 打印所有请求头
-        HttpServletRequest request = httpRequestUtil.getRequest();
-        request.getHeaderNames()
-            .asIterator()
-            .forEachRemaining(name -> {
-                String value = request.getHeader(name);
-                System.out.println(name + " : " + value);
-            });
+        JSONObject headers = httpRequestUtil.getHeaders();
+        System.out.println("headers 参数: " + headers);
         System.out.println("===============================");
 
         String templateParamSet = "{ \"code\": \"123456\", \"minute\": \"5\" }";
-        //return Result.success().put("data", tencentEmsService.send("邮件测试", 140698L, templateParamSet, email));
-        return Result.success().put("data", tencentEmsService.send("邮件测试", 140698L, templateParamSet, "405348097@qq.com"));
+        return Result.success().put("data", tencentEmsService.send("邮件测试", 140698L, templateParamSet, email));
     }
 
     /**
@@ -68,15 +63,20 @@ public class TencentEmsController {
         System.out.println("邮件推送通知事件回调");
         System.out.println("body 参数: " + body);
         System.out.println("===============================");
-        System.out.println("headers 参数: ");
+
         HttpServletRequest request = httpRequestUtil.getRequest();
         // 1. 打印所有请求头
-        request.getHeaderNames()
-                .asIterator()
-                .forEachRemaining(name -> {
-                    String value = request.getHeader(name);
-                    System.out.println(name + " : " + value);
-                });
+        JSONObject headers = httpRequestUtil.getHeaders();
+        System.out.println("headers 参数: " + headers);
+        System.out.println("===============================");
+
+        System.out.println("url params 参数: ");
+        // 1. 打印所有 URL 参数
+        Map<String, String[]> params = request.getParameterMap();
+        params.forEach((name, values) -> {
+            // 同一个参数名可能有多个值
+            System.out.println(name + " = " + String.join(",", values));
+        });
         System.out.println("===============================");
 
         // tencentEmsCallbackService.receiveCallback(emsCallbackList);