From 0ee76ac53502206cd916ec1086746e1b7fed491f Mon Sep 17 00:00:00 2001 From: Carsten Rehfeld Date: Sun, 17 May 2026 00:35:06 +0200 Subject: [PATCH] fix(admin): serialize poll response as JSON string via ObjectMapper Response.ok(Map.of(...)).build() with class-level @Produces(TEXT_HTML) caused Quarkus to call Map.toString() instead of the Jackson writer, producing {key=value} output that r.json() can't parse. Explicitly serialize with ObjectMapper and set Content-Type to application/json. Co-Authored-By: Mira Rehfeld --- .../botstandards/apix/admin/resource/DashboardResource.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apix-admin/src/main/java/org/botstandards/apix/admin/resource/DashboardResource.java b/apix-admin/src/main/java/org/botstandards/apix/admin/resource/DashboardResource.java index ac12145..e80dd35 100644 --- a/apix-admin/src/main/java/org/botstandards/apix/admin/resource/DashboardResource.java +++ b/apix-admin/src/main/java/org/botstandards/apix/admin/resource/DashboardResource.java @@ -56,10 +56,11 @@ public class DashboardResource { SandboxDashboardResponse d = registry.sandboxDetail(adminKey, uuid); long total = d.usage() == null ? 0L : d.usage().values().stream().mapToLong(Long::longValue).sum(); - return Response.ok(Map.of( + String json = mapper.writeValueAsString(Map.of( "totalRequests", total, "ratePerMinute", d.ratePerMinute() - )).build(); + )); + return Response.ok(json).type(MediaType.APPLICATION_JSON).build(); } catch (Exception e) { LOG.errorf(e, "Poll failed for sandbox %s", uuid); return Response.serverError().build();