@@ -214,9 +214,13 @@ Schema calculateSchema(Components components, java.lang.reflect.Parameter parame
214
214
else {
215
215
schemaN = SpringDocAnnotationsUtils .resolveSchemaFromType (schemaImplementation , components , jsonView );
216
216
}
217
- if (isRequestBodySchema (requestBodyInfo )) {
218
- requestBodyInfo .getMergedSchema ().addProperties (paramName , schemaN );
219
- schemaN = requestBodyInfo .getMergedSchema ();
217
+ if (requestBodyInfo != null ) {
218
+ if (requestBodyInfo .getMergedSchema () != null ) {
219
+ requestBodyInfo .getMergedSchema ().addProperties (paramName , schemaN );
220
+ schemaN = requestBodyInfo .getMergedSchema ();
221
+ }
222
+ else
223
+ requestBodyInfo .addProperties (paramName , schemaN );
220
224
}
221
225
222
226
return schemaN ;
@@ -238,32 +242,30 @@ private Schema extractFileSchema(String paramName, RequestBodyInfo requestBodyIn
238
242
239
243
private Schema getFileSchema (RequestBodyInfo requestBodyInfo ) {
240
244
Schema schemaN ;
241
- if (isRequestBodySchema ( requestBodyInfo ) )
245
+ if (requestBodyInfo . getMergedSchema () != null )
242
246
schemaN = requestBodyInfo .getMergedSchema ();
243
- else
247
+ else {
244
248
schemaN = new ObjectSchema ();
249
+ requestBodyInfo .setMergedSchema (schemaN );
250
+ }
245
251
return schemaN ;
246
252
}
247
253
248
- private boolean isRequestBodySchema (RequestBodyInfo requestBodyInfo ) {
249
- return requestBodyInfo != null && requestBodyInfo .getMergedSchema () != null ;
250
- }
251
-
252
254
protected abstract boolean isFile (ParameterizedType parameterizedType );
253
255
254
256
protected abstract boolean isFile (JavaType ct );
255
257
256
258
public boolean isFile (java .lang .reflect .Parameter parameter ) {
257
- boolean result =false ;
258
- Type type = parameter .getParameterizedType ();
259
+ boolean result = false ;
260
+ Type type = parameter .getParameterizedType ();
259
261
JavaType javaType = constructType (parameter .getType ());
260
262
if (isFile (javaType )) {
261
- result =true ;
263
+ result = true ;
262
264
}
263
265
else if (type instanceof ParameterizedType ) {
264
266
ParameterizedType parameterizedType = (ParameterizedType ) type ;
265
267
if (isFile (parameterizedType )) {
266
- result =true ;
268
+ result = true ;
267
269
}
268
270
}
269
271
return result ;
0 commit comments