@@ -298,7 +298,10 @@ private Type getTypeForWildcardType(RequestMethod requestMethod, DataRestReposit
298
298
ParameterizedType wildcardTypeUpperBound = (ParameterizedType ) wildcardType .getUpperBounds ()[0 ];
299
299
if (RepresentationModel .class .equals (wildcardTypeUpperBound .getRawType ())) {
300
300
Class <?> type = findType (requestMethod , dataRestRepository );
301
- return resolveGenericType (ResponseEntity .class , type , returnedEntityType );
301
+ if (MapModel .class .equals (type ))
302
+ return ResolvableType .forClassWithGenerics (ResponseEntity .class , type ).getType ();
303
+ else
304
+ return resolveGenericType (ResponseEntity .class , type , returnedEntityType );
302
305
}
303
306
}
304
307
return null ;
@@ -318,7 +321,10 @@ private Type getTypeForParameterizedType(RequestMethod requestMethod, DataRestRe
318
321
Class <?> rawType = ResolvableType .forType (parameterizedType1 .getRawType ()).getRawClass ();
319
322
if (rawType != null && rawType .isAssignableFrom (RepresentationModel .class )) {
320
323
Class <?> type = findType (requestMethod , dataRestRepository );
321
- return resolveGenericType (ResponseEntity .class , type , returnedEntityType );
324
+ if (MapModel .class .equals (type ))
325
+ return ResolvableType .forClassWithGenerics (ResponseEntity .class , type ).getType ();
326
+ else
327
+ return resolveGenericType (ResponseEntity .class , type , returnedEntityType );
322
328
}
323
329
else if (EntityModel .class .equals (parameterizedType1 .getRawType ())) {
324
330
return resolveGenericType (ResponseEntity .class , EntityModel .class , returnedEntityType );
0 commit comments