Skip to content

Commit f6802aa

Browse files
author
bnasslahsen
committed
fixes #646
1 parent 73c5fd6 commit f6802aa

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/core/GenericResponseBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,10 @@ public static void buildContentFromDoc(Components components, ApiResponses apiRe
170170
if (optionalContent.isPresent()) {
171171
Content newContent = optionalContent.get();
172172
if (methodAttributes.isMethodOverloaded() && existingContent != null) {
173-
Arrays.stream(methodAttributes.getMethodProduces()).filter(mediaTypeStr -> (newContent.get(mediaTypeStr) != null)).forEach(mediaTypeStr -> mergeSchema(existingContent, newContent.get(mediaTypeStr).getSchema(), mediaTypeStr));
173+
Arrays.stream(methodAttributes.getMethodProduces()).filter(mediaTypeStr -> (newContent.get(mediaTypeStr) != null)).forEach(mediaTypeStr -> {
174+
if (newContent.get(mediaTypeStr).getSchema() != null)
175+
mergeSchema(existingContent, newContent.get(mediaTypeStr).getSchema(), mediaTypeStr);
176+
});
174177
apiResponse.content(existingContent);
175178
}
176179
else

springdoc-openapi-common/src/main/java/org/springdoc/core/RequestBodyBuilder.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ private void buildResquestBodyContent(io.swagger.v3.oas.annotations.parameters.R
100100
if (optionalContent.isPresent() && existingContent != null) {
101101
Content newContent = optionalContent.get();
102102
if (methodAttributes.isMethodOverloaded()) {
103-
Arrays.stream(methodAttributes.getMethodProduces()).filter(mediaTypeStr -> (newContent.get(mediaTypeStr) != null)).forEach(mediaTypeStr -> mergeSchema(existingContent, newContent.get(mediaTypeStr).getSchema(), mediaTypeStr));
103+
Arrays.stream(methodAttributes.getMethodProduces()).filter(mediaTypeStr -> (newContent.get(mediaTypeStr) != null)).forEach(mediaTypeStr -> {
104+
if (newContent.get(mediaTypeStr).getSchema() != null)
105+
mergeSchema(existingContent, newContent.get(mediaTypeStr).getSchema(), mediaTypeStr);
106+
});
104107
requestBodyObject.content(existingContent);
105108
}
106109
else
@@ -116,7 +119,7 @@ public Optional<RequestBody> buildRequestBodyFromDoc(io.swagger.v3.oas.annotatio
116119
}
117120

118121
public Optional<RequestBody> buildRequestBodyFromDoc(io.swagger.v3.oas.annotations.parameters.RequestBody requestBody,
119-
MethodAttributes methodAttributes, Components components,JsonView jsonViewAnnotation) {
122+
MethodAttributes methodAttributes, Components components, JsonView jsonViewAnnotation) {
120123
return this.buildRequestBodyFromDoc(requestBody, null, methodAttributes,
121124
components, jsonViewAnnotation);
122125
}

0 commit comments

Comments
 (0)