Skip to content

Commit 719ac8f

Browse files
committed
Improve Kotlin List detection for EntityMapping methods
Closes gh-1018
1 parent 89a4494 commit 719ac8f

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

spring-graphql/src/main/java/org/springframework/graphql/data/federation/EntityArgumentsMethodArgumentResolver.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,15 @@ final class EntityArgumentsMethodArgumentResolver implements HandlerMethodArgume
4848

4949
@Override
5050
public boolean supportsParameter(MethodParameter param) {
51-
if (param.getParameterType().equals(List.class)) {
52-
param = param.nested(0);
51+
Class<?> type = param.getParameterType();
52+
if (List.class.isAssignableFrom(param.getParameterType())) {
53+
type = param.nested().getNestedParameterType();
54+
if (Object.class.equals(type)) {
55+
// Maybe a Kotlin List
56+
type = ResolvableType.forMethodParameter(param).getNested(2).resolve(Object.class);
57+
}
5358
}
54-
if (param.getNestedParameterType().equals(Map.class)) {
55-
return param.nested(0).getNestedParameterType().equals(String.class);
56-
}
57-
return false;
59+
return Map.class.isAssignableFrom(type);
5860
}
5961

6062
@Override

0 commit comments

Comments
 (0)