Skip to content

Commit 2bd1d85

Browse files
committed
fix #4676 - fix schema serialization with sort=true
1 parent 7d19a65 commit 2bd1d85

File tree

1 file changed

+61
-1
lines changed

1 file changed

+61
-1
lines changed

modules/swagger-integration/src/main/java/io/swagger/v3/oas/integration/GenericOpenApiContext.java

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import io.swagger.v3.core.filter.SpecFilter;
1717
import io.swagger.v3.core.jackson.ModelResolver;
1818
import io.swagger.v3.core.jackson.PathsSerializer;
19+
import io.swagger.v3.core.jackson.mixin.Schema31Mixin;
1920
import io.swagger.v3.core.util.Json;
2021
import io.swagger.v3.core.util.Json31;
2122
import io.swagger.v3.core.util.Yaml;
@@ -739,7 +740,62 @@ static abstract class SortedSchemaMixin {
739740
@JsonIgnore
740741
public abstract Object getJsonSchemaImpl();
741742

743+
@JsonIgnore
744+
public abstract List<Schema> getPrefixItems();
745+
746+
@JsonIgnore
747+
public abstract String getContentEncoding();
748+
749+
@JsonIgnore
750+
public abstract String getContentMediaType();
751+
752+
@JsonIgnore
753+
public abstract Schema getContentSchema();
754+
755+
@JsonIgnore
756+
public abstract Schema getPropertyNames();
757+
758+
@JsonIgnore
759+
public abstract Object getUnevaluatedProperties();
760+
761+
@JsonIgnore
762+
public abstract Integer getMaxContains();
763+
764+
@JsonIgnore
765+
public abstract Integer getMinContains();
742766

767+
@JsonIgnore
768+
public abstract Schema getAdditionalItems();
769+
770+
@JsonIgnore
771+
public abstract Schema getUnevaluatedItems();
772+
773+
@JsonIgnore
774+
public abstract Schema getIf();
775+
776+
@JsonIgnore
777+
public abstract Schema getElse();
778+
779+
@JsonIgnore
780+
public abstract Schema getThen();
781+
782+
@JsonIgnore
783+
public abstract Map<String, Schema> getDependentSchemas();
784+
785+
@JsonIgnore
786+
public abstract Map<String, List<String>> getDependentRequired();
787+
788+
@JsonIgnore
789+
public abstract String get$comment();
790+
791+
@JsonIgnore
792+
public abstract List<Object> getExamples();
793+
794+
@JsonIgnore
795+
public abstract Object getConst();
796+
797+
@JsonIgnore
798+
public abstract Boolean getBooleanSchemaValue();
743799
}
744800

745801
@JsonPropertyOrder(value = {"openapi", "info", "externalDocs", "servers", "security", "tags", "paths", "components", "webhooks"}, alphabetic = true)
@@ -756,7 +812,7 @@ static abstract class SortedOpenAPIMixin31 {
756812
public abstract Paths getPaths();
757813
}
758814

759-
@JsonPropertyOrder(value = {"type", "format"}, alphabetic = true)
815+
@JsonPropertyOrder(value = {"type", "format", "if", "then", "else"}, alphabetic = true)
760816
static abstract class SortedSchemaMixin31 {
761817

762818
@JsonAnyGetter
@@ -785,6 +841,7 @@ static abstract class SortedSchemaMixin31 {
785841
public abstract String getType();
786842

787843
@JsonProperty("type")
844+
@JsonSerialize(using = Schema31Mixin.TypeSerializer.class)
788845
public abstract Set<String> getTypes();
789846

790847
@JsonAnySetter
@@ -799,6 +856,9 @@ static abstract class SortedSchemaMixin31 {
799856
@JsonIgnore
800857
public abstract Object getJsonSchemaImpl();
801858

859+
@JsonIgnore
860+
public abstract Boolean getBooleanSchemaValue();
861+
802862
}
803863

804864
}

0 commit comments

Comments
 (0)