Skip to content

Commit d225adb

Browse files
committed
fix: fix 3.1 schema deserialization
1 parent 5485ceb commit d225adb

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

modules/swagger-core/src/main/java/io/swagger/v3/core/util/ModelDeserializer.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,12 @@ private Schema deserializeJsonSchema(JsonNode node) {
152152
}
153153
if (additionalProperties != null) {
154154
try {
155-
Schema innerSchema = Json31.mapper().convertValue(additionalProperties, JsonSchema.class);
156-
schema.setAdditionalProperties(innerSchema);
155+
if (additionalProperties.isBoolean()) {
156+
schema.setAdditionalProperties(additionalProperties.booleanValue());
157+
} else {
158+
Schema innerSchema = deserializeJsonSchema(additionalProperties);
159+
schema.setAdditionalProperties(innerSchema);
160+
}
157161
} catch (Exception e) {
158162
Boolean additionalPropsBoolean = Json31.mapper().convertValue(additionalProperties, Boolean.class);
159163
schema.setAdditionalProperties(additionalPropsBoolean);

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/links/LinkParameter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
/**
88
* LinkParameter
99
*
10-
* @see "https://github.com/OAI/OpenAPI-Specification/blob/3.0.1/versions/3.0.1.md#linkOParametersbject"
1110
*/
1211

1312
public class LinkParameter {

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/media/Schema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.swagger.v3.oas.models.media;
22

33
import com.fasterxml.jackson.annotation.JsonIgnore;
4-
import com.sun.org.apache.xpath.internal.operations.Bool;
54
import io.swagger.v3.oas.models.annotations.OpenAPI30;
65
import io.swagger.v3.oas.models.annotations.OpenAPI31;
76
import io.swagger.v3.oas.models.Components;
@@ -49,6 +48,7 @@ public class Schema<T> {
4948
private Integer maxProperties = null;
5049
private Integer minProperties = null;
5150
private List<String> required = null;
51+
@OpenAPI30
5252
private String type = null;
5353
private Schema not = null;
5454
private Map<String, Schema> properties = null;

0 commit comments

Comments
 (0)