From 1a3ba423f46ef9e7d81ea96822258889afe9962f Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Wed, 1 Jul 2026 00:59:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20submitConfig=20=E5=92=8C=20access-result?= =?UTF-8?q?=20=E6=8E=A5=E5=8F=A3=E5=85=BC=E5=AE=B9=20content/config=20?= =?UTF-8?q?=E4=BC=A0=E5=85=A5=20JSON=20=E5=AF=B9=E8=B1=A1=E8=80=8C?= =?UTF-8?q?=E9=9D=9E=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/par/api/controller/AccessResultController.java | 8 +++++++- .../java/com/par/api/controller/ConfigController.java | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/par-api/src/main/java/com/par/api/controller/AccessResultController.java b/par-api/src/main/java/com/par/api/controller/AccessResultController.java index 67a3167..7c460c7 100644 --- a/par-api/src/main/java/com/par/api/controller/AccessResultController.java +++ b/par-api/src/main/java/com/par/api/controller/AccessResultController.java @@ -37,7 +37,7 @@ public class AccessResultController { String configVersion = (String) payload.get("configVersion"); String contentType = (String) payload.getOrDefault("contentType", "html"); - String content = (String) payload.get("content"); + String content = toStringValue(payload.get("content")); String url = (String) payload.get("url"); Integer statusCode = payload.get("statusCode") instanceof Integer i ? i : null; Integer responseTimeMs = payload.get("responseTimeMs") instanceof Integer i ? i : null; @@ -133,4 +133,10 @@ public class AccessResultController { int affected = accessResultService.batchValidateUrl(siteId, url, isValid); return ApiResponse.success(Map.of("affected", affected)); } + + private String toStringValue(Object obj) { + if (obj == null) return null; + if (obj instanceof String s) return s; + try { return new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(obj); } catch (Exception e) { return null; } + } } diff --git a/par-api/src/main/java/com/par/api/controller/ConfigController.java b/par-api/src/main/java/com/par/api/controller/ConfigController.java index a7e3b23..c66e51f 100644 --- a/par-api/src/main/java/com/par/api/controller/ConfigController.java +++ b/par-api/src/main/java/com/par/api/controller/ConfigController.java @@ -25,6 +25,7 @@ public class ConfigController { private final ConfigService configService; private final CachedStorageService storageService; + private static final com.fasterxml.jackson.databind.ObjectMapper objectMapper = new com.fasterxml.jackson.databind.ObjectMapper(); public ConfigController(ConfigService configService, CachedStorageService storageService) { this.configService = configService; @@ -127,7 +128,7 @@ public class ConfigController { HttpServletRequest request) { String version = (String) payload.get("version"); - String configJson = (String) payload.get("config"); + String configJson = toStringValue(payload.get("config")); String schemaVersion = (String) payload.get("schemaVersion"); if (version == null || configJson == null) { @@ -139,4 +140,10 @@ public class ConfigController { SiteConfig config = configService.submitConfig(siteId, version, configJson, schemaVersion, submitterId); return ApiResponse.success(configService.toDTO(config)); } + + private String toStringValue(Object obj) { + if (obj == null) return null; + if (obj instanceof String s) return s; + try { return objectMapper.writeValueAsString(obj); } catch (Exception e) { return null; } + } }