From a9287c6b562da327587e2a4bac92df14eb7e2b01 Mon Sep 17 00:00:00 2001
From: guyue <1721849008@qq.com>
Date: 星期六, 26 七月 2025 19:16:14 +0800
Subject: [PATCH] 增加获取结果缓冲区的上限

---
 src/main/java/com/linghu/controller/CollectController.java |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/linghu/controller/CollectController.java b/src/main/java/com/linghu/controller/CollectController.java
index 0da27b4..23cf78b 100644
--- a/src/main/java/com/linghu/controller/CollectController.java
+++ b/src/main/java/com/linghu/controller/CollectController.java
@@ -20,6 +20,7 @@
 import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.http.*;
+import org.springframework.web.reactive.function.client.ExchangeStrategies;
 import org.springframework.web.reactive.function.client.WebClient;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -550,7 +551,13 @@
     @ApiOperation(value = "获取任务结果")
     @GetMapping("/tasks/{taskId}")
     public Mono<TaskResultResponse> getTaskResult(@PathVariable String taskId) {
-        return webClient.get()
+        WebClient webClient2 = WebClient.builder()
+                .exchangeStrategies(ExchangeStrategies.builder()
+                        .codecs(configurer -> configurer.defaultCodecs()
+                                .maxInMemorySize(10 * 1024 * 1024)) // 10MB
+                        .build())
+                .build();
+        return webClient2.get()
                 .uri(baseUrl + "/api/v1/tasks/" + taskId + "/result")
                 .accept(MediaType.APPLICATION_JSON)
                 .retrieve()
@@ -576,6 +583,7 @@
                 })
                 .onErrorResume(e -> {
                     System.out.println("获取任务结果失败");
+                    log.error("获取任务结果失败: {}", e.getMessage(), e);
                         TaskResultResponse result = new TaskResultResponse();
                     result.setDetail("获取任务结果失败: " + e.getMessage());
                     return Mono.just(result);

--
Gitblit v1.7.1