Skip to content

Commit 6ee577f

Browse files
committed
Generating doc for entities with map attribute does not work. Fixes #1634
1 parent ab0a44d commit 6ee577f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/core/DataRestResponseService.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,10 @@ private Type getTypeForWildcardType(RequestMethod requestMethod, DataRestReposit
296296
ParameterizedType wildcardTypeUpperBound = (ParameterizedType) wildcardType.getUpperBounds()[0];
297297
if (RepresentationModel.class.equals(wildcardTypeUpperBound.getRawType())) {
298298
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);
300303
}
301304
}
302305
return null;
@@ -316,7 +319,10 @@ private Type getTypeForParameterizedType(RequestMethod requestMethod, DataRestRe
316319
Class<?> rawType = ResolvableType.forType(parameterizedType1.getRawType()).getRawClass();
317320
if (rawType != null && rawType.isAssignableFrom(RepresentationModel.class)) {
318321
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);
320326
}
321327
else if (EntityModel.class.equals(parameterizedType1.getRawType())) {
322328
return resolveGenericType(ResponseEntity.class, EntityModel.class, returnedEntityType);

0 commit comments

Comments
 (0)