|
46 | 46 | import io.swagger.v3.oas.annotations.enums.ParameterStyle;
|
47 | 47 | import io.swagger.v3.oas.annotations.extensions.Extension;
|
48 | 48 | import io.swagger.v3.oas.annotations.media.ExampleObject;
|
| 49 | +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; |
49 | 50 | import io.swagger.v3.oas.models.Components;
|
50 | 51 | import io.swagger.v3.oas.models.examples.Example;
|
51 | 52 | import io.swagger.v3.oas.models.media.ArraySchema;
|
@@ -326,7 +327,7 @@ private void setSchema(io.swagger.v3.oas.annotations.Parameter parameterDoc, Com
|
326 | 327 | catch (Exception e) {
|
327 | 328 | LOGGER.warn(Constants.GRACEFUL_EXCEPTION_OCCURRED, e);
|
328 | 329 | }
|
329 |
| - if (schema == null) { |
| 330 | + if (schema == null && parameterDoc.array() != null) { |
330 | 331 | schema = AnnotationsUtils.getSchema(parameterDoc.schema(), parameterDoc.array(), true, parameterDoc.array().schema().implementation(), components, jsonView).orElse(null);
|
331 | 332 | // default value not set by swagger-core for array !
|
332 | 333 | if (schema != null) {
|
@@ -358,7 +359,7 @@ Schema calculateSchema(Components components, ParameterInfo parameterInfo, Reque
|
358 | 359 | WebConversionServiceProvider webConversionServiceProvider = optionalWebConversionServiceProvider.get();
|
359 | 360 | if (!MethodParameterPojoExtractor.isSwaggerPrimitiveType((Class) type) && methodParameter.getParameterType().getAnnotation(io.swagger.v3.oas.annotations.media.Schema.class) == null) {
|
360 | 361 | Class<?> springConvertedType = webConversionServiceProvider.getSpringConvertedType(methodParameter.getParameterType());
|
361 |
| - if (!(String.class.equals(springConvertedType) && ((Class<?>) type).isEnum()) && requestBodyInfo==null) |
| 362 | + if (!(String.class.equals(springConvertedType) && ((Class<?>) type).isEnum()) && requestBodyInfo == null) |
362 | 363 | type = springConvertedType;
|
363 | 364 | }
|
364 | 365 | }
|
@@ -619,7 +620,9 @@ public String description() {
|
619 | 620 |
|
620 | 621 | @Override
|
621 | 622 | public boolean required() {
|
622 |
| - return schema.required(); |
| 623 | + return schema.requiredMode().equals(RequiredMode.AUTO) ? |
| 624 | + schema.required() : |
| 625 | + schema.requiredMode().equals(RequiredMode.REQUIRED); |
623 | 626 | }
|
624 | 627 |
|
625 | 628 | @Override
|
|
0 commit comments