Skip to content

Commit 596a64a

Browse files
committed
Add support for multi-value query parameters
Signed-off-by: Daeho Kwon <trewq231@naver.com>
1 parent bb76f50 commit 596a64a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

core/src/main/java/com/linecorp/armeria/internal/server/annotation/AnnotatedValueResolver.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -613,12 +613,16 @@ private static AnnotatedValueResolver ofQueryParamMap(String name,
613613
rawValueType == Collection.class ||
614614
rawValueType == Set.class)) {
615615
throw new IllegalArgumentException(
616-
"Invalid Map value type: " + rawValueType);
616+
"Invalid Map value type: " + rawValueType
617+
+ " (expected Iterable, List, Collection or Set)");
617618
}
618619

619620
final BiFunction<AnnotatedValueResolver, ResolverContext, Object> biFunction;
620621

621-
if (List.class.isAssignableFrom(rawValueType)) {
622+
if (List.class.isAssignableFrom(rawValueType) ||
623+
Collection.class.isAssignableFrom(rawValueType) ||
624+
Iterable.class.isAssignableFrom(rawValueType)
625+
) {
622626
biFunction = (resolver, ctx) -> ctx.queryParams().stream()
623627
.collect(toImmutableMap(
624628
Entry::getKey,

0 commit comments

Comments
 (0)