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