@@ -354,64 +354,62 @@ private static void setExamples(MediaType mediaType, ExampleObject[] examples) {
354
354
private static MediaType getMediaType (Schema schema , Components components , JsonView jsonViewAnnotation ,
355
355
io .swagger .v3 .oas .annotations .media .Content annotationContent , boolean openapi31 ) {
356
356
MediaType mediaType = new MediaType ();
357
- if (!annotationContent .schema ().hidden ()) {
358
- if (components != null ) {
359
- try {
360
- getSchema (annotationContent , components , jsonViewAnnotation , openapi31 ).ifPresent (mediaType ::setSchema );
361
- if (annotationContent .schemaProperties ().length > 0 ) {
362
- if (mediaType .getSchema () == null ) {
363
- mediaType .schema (new Schema <Object >().type ("object" ));
364
- }
365
- Schema oSchema = mediaType .getSchema ();
366
- for (SchemaProperty sp : annotationContent .schemaProperties ()) {
367
- Class <?> schemaImplementation = sp .schema ().implementation ();
368
- boolean isArray = false ;
369
- if (schemaImplementation == Void .class ) {
370
- schemaImplementation = sp .array ().schema ().implementation ();
371
- if (schemaImplementation != Void .class ) {
372
- isArray = true ;
373
- }
374
- }
375
- getSchema (sp .schema (), sp .array (), isArray , schemaImplementation , components , jsonViewAnnotation , openapi31 )
376
- .ifPresent (s -> {
377
- if ("array" .equals (oSchema .getType ())) {
378
- oSchema .getItems ().addProperty (sp .name (), s );
379
- }
380
- else {
381
- oSchema .addProperty (sp .name (), s );
382
- }
383
- });
384
-
357
+ if (annotationContent .schema ().hidden ()) {
358
+ return mediaType ;
359
+ }
360
+ if (components == null ) {
361
+ mediaType .setSchema (schema );
362
+ }
363
+ try {
364
+ getSchema (annotationContent , components , jsonViewAnnotation , openapi31 ).ifPresent (mediaType ::setSchema );
365
+ if (annotationContent .schemaProperties ().length > 0 ) {
366
+ if (mediaType .getSchema () == null ) {
367
+ mediaType .schema (new Schema <Object >().type ("object" ));
368
+ }
369
+ Schema oSchema = mediaType .getSchema ();
370
+ for (SchemaProperty sp : annotationContent .schemaProperties ()) {
371
+ Class <?> schemaImplementation = sp .schema ().implementation ();
372
+ boolean isArray = false ;
373
+ if (schemaImplementation == Void .class ) {
374
+ schemaImplementation = sp .array ().schema ().implementation ();
375
+ if (schemaImplementation != Void .class ) {
376
+ isArray = true ;
385
377
}
386
378
}
387
- if (
388
- hasSchemaAnnotation (annotationContent .additionalPropertiesSchema ()) &&
389
- mediaType .getSchema () != null &&
390
- !Boolean .TRUE .equals (mediaType .getSchema ().getAdditionalProperties ()) &&
391
- !Boolean .FALSE .equals (mediaType .getSchema ().getAdditionalProperties ())) {
392
- getSchemaFromAnnotation (annotationContent .additionalPropertiesSchema (), components , jsonViewAnnotation , openapi31 )
393
- .ifPresent (s -> {
394
- if ("array" .equals (mediaType .getSchema ().getType ())) {
395
- mediaType .getSchema ().getItems ().additionalProperties (s );
396
- }
397
- else {
398
- mediaType .getSchema ().additionalProperties (s );
399
- }
400
- }
401
- );
402
- }
403
- }
404
- catch (Exception e ) {
405
- if (isArray (annotationContent ))
406
- mediaType .setSchema (new ArraySchema ().items (new StringSchema ()));
407
- else
408
- mediaType .setSchema (new StringSchema ());
379
+ getSchema (sp .schema (), sp .array (), isArray , schemaImplementation , components , jsonViewAnnotation , openapi31 )
380
+ .ifPresent (s -> {
381
+ if ("array" .equals (oSchema .getType ())) {
382
+ oSchema .getItems ().addProperty (sp .name (), s );
383
+ }
384
+ else {
385
+ oSchema .addProperty (sp .name (), s );
386
+ }
387
+ });
409
388
}
410
389
}
411
- else {
412
- mediaType .setSchema (schema );
390
+ if (
391
+ hasSchemaAnnotation (annotationContent .additionalPropertiesSchema ()) &&
392
+ mediaType .getSchema () != null &&
393
+ !Boolean .TRUE .equals (mediaType .getSchema ().getAdditionalProperties ()) &&
394
+ !Boolean .FALSE .equals (mediaType .getSchema ().getAdditionalProperties ())) {
395
+ getSchemaFromAnnotation (annotationContent .additionalPropertiesSchema (), components , jsonViewAnnotation , openapi31 )
396
+ .ifPresent (s -> {
397
+ if ("array" .equals (mediaType .getSchema ().getType ())) {
398
+ mediaType .getSchema ().getItems ().additionalProperties (s );
399
+ }
400
+ else {
401
+ mediaType .getSchema ().additionalProperties (s );
402
+ }
403
+ }
404
+ );
413
405
}
414
406
}
407
+ catch (Exception e ) {
408
+ if (isArray (annotationContent ))
409
+ mediaType .setSchema (new ArraySchema ().items (new StringSchema ()));
410
+ else
411
+ mediaType .setSchema (new StringSchema ());
412
+ }
415
413
return mediaType ;
416
414
}
417
415
0 commit comments