From 5a4056da7eee0cedf79cb4c6173d8e69ba93b3ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E8=83=83=E7=8E=8B?= Date: Tue, 15 Aug 2023 15:47:38 +0800 Subject: [PATCH] fix missing form field subObject problem --- .../src/main/java/feign/form/util/PojoUtil.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/feign-form/src/main/java/feign/form/util/PojoUtil.java b/feign-form/src/main/java/feign/form/util/PojoUtil.java index e2b89a5..ecd05d1 100644 --- a/feign-form/src/main/java/feign/form/util/PojoUtil.java +++ b/feign-form/src/main/java/feign/form/util/PojoUtil.java @@ -78,7 +78,20 @@ public static Map toMap (@NonNull Object object) { ? field.getAnnotation(FormProperty.class).value() : field.getName(); - result.put(propertyKey, fieldValue); + //fix missing form field subObject problem + if (fieldValue instanceof Collection) { + int i = 0; + for (Object o : ((Collection) fieldValue)) { + Map map = toMap(o); + for (Map.Entry entry : map.entrySet()) { + result.put(propertyKey + "[" + i + "]." + entry.getKey(), entry.getValue()); + } + i++; + } + } else { + result.put(propertyKey, fieldValue); + } + } return result; }