|
50 | 50 | import com.fasterxml.jackson.annotation.JsonView; |
51 | 51 | import com.fasterxml.jackson.core.JsonProcessingException; |
52 | 52 | import com.fasterxml.jackson.core.type.TypeReference; |
53 | | -import com.fasterxml.jackson.databind.MapperFeature; |
54 | 53 | import com.fasterxml.jackson.databind.ObjectMapper; |
55 | | -import com.fasterxml.jackson.databind.SerializationFeature; |
56 | 54 | import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; |
57 | 55 | import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.Feature; |
58 | 56 | import io.swagger.v3.core.filter.SpecFilter; |
|
66 | 64 | import io.swagger.v3.oas.models.PathItem; |
67 | 65 | import io.swagger.v3.oas.models.PathItem.HttpMethod; |
68 | 66 | import io.swagger.v3.oas.models.Paths; |
69 | | -import io.swagger.v3.oas.models.media.Schema; |
70 | 67 | import io.swagger.v3.oas.models.media.StringSchema; |
71 | 68 | import io.swagger.v3.oas.models.parameters.Parameter; |
72 | 69 | import io.swagger.v3.oas.models.responses.ApiResponses; |
|
83 | 80 | import org.springdoc.core.fn.AbstractRouterFunctionVisitor; |
84 | 81 | import org.springdoc.core.fn.RouterFunctionData; |
85 | 82 | import org.springdoc.core.fn.RouterOperation; |
86 | | -import org.springdoc.core.mixins.SortedOpenAPIMixin; |
87 | | -import org.springdoc.core.mixins.SortedOpenAPIMixin31; |
88 | | -import org.springdoc.core.mixins.SortedSchemaMixin; |
89 | | -import org.springdoc.core.mixins.SortedSchemaMixin31; |
90 | 83 | import org.springdoc.core.models.MethodAttributes; |
91 | 84 | import org.springdoc.core.properties.SpringDocConfigProperties; |
92 | 85 | import org.springdoc.core.properties.SpringDocConfigProperties.ApiDocs.OpenApiVersion; |
93 | 86 | import org.springdoc.core.properties.SpringDocConfigProperties.GroupConfig; |
94 | 87 | import org.springdoc.core.providers.ActuatorProvider; |
95 | 88 | import org.springdoc.core.providers.CloudFunctionProvider; |
96 | 89 | import org.springdoc.core.providers.JavadocProvider; |
| 90 | +import org.springdoc.core.providers.ObjectMapperProvider; |
97 | 91 | import org.springdoc.core.providers.SpringDocProviders; |
98 | 92 | import org.springdoc.core.service.AbstractRequestService; |
99 | 93 | import org.springdoc.core.service.GenericParameterService; |
@@ -1185,7 +1179,7 @@ protected String writeYamlValue(OpenAPI openAPI) throws JsonProcessingException |
1185 | 1179 | String result; |
1186 | 1180 | ObjectMapper objectMapper = springDocProviders.yamlMapper(); |
1187 | 1181 | if (springDocConfigProperties.isWriterWithOrderByKeys()) |
1188 | | - sortOutput(objectMapper); |
| 1182 | + ObjectMapperProvider.sortOutput(objectMapper, springDocConfigProperties); |
1189 | 1183 | YAMLFactory factory = (YAMLFactory) objectMapper.getFactory(); |
1190 | 1184 | factory.configure(Feature.USE_NATIVE_TYPE_ID, false); |
1191 | 1185 | if (!springDocConfigProperties.isWriterWithDefaultPrettyPrinter()) |
@@ -1256,7 +1250,7 @@ protected String writeJsonValue(OpenAPI openAPI) throws JsonProcessingException |
1256 | 1250 | String result; |
1257 | 1251 | ObjectMapper objectMapper = springDocProviders.jsonMapper(); |
1258 | 1252 | if (springDocConfigProperties.isWriterWithOrderByKeys()) |
1259 | | - sortOutput(objectMapper); |
| 1253 | + ObjectMapperProvider.sortOutput(objectMapper, springDocConfigProperties); |
1260 | 1254 | if (!springDocConfigProperties.isWriterWithDefaultPrettyPrinter()) |
1261 | 1255 | result = objectMapper.writerFor(OpenAPI.class).writeValueAsString(openAPI); |
1262 | 1256 | else |
@@ -1325,23 +1319,6 @@ enum ConditionType { |
1325 | 1319 | HEADERS |
1326 | 1320 | } |
1327 | 1321 |
|
1328 | | - /** |
1329 | | - * Sort output. |
1330 | | - * |
1331 | | - * @param objectMapper the object mapper |
1332 | | - */ |
1333 | | - private void sortOutput(ObjectMapper objectMapper) { |
1334 | | - objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); |
1335 | | - objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); |
1336 | | - if (OpenApiVersion.OPENAPI_3_1 == springDocConfigProperties.getApiDocs().getVersion()){ |
1337 | | - objectMapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin31.class); |
1338 | | - objectMapper.addMixIn(Schema.class, SortedSchemaMixin31.class); |
1339 | | - } else { |
1340 | | - objectMapper.addMixIn(OpenAPI.class, SortedOpenAPIMixin.class); |
1341 | | - objectMapper.addMixIn(Schema.class, SortedSchemaMixin.class); |
1342 | | - } |
1343 | | - } |
1344 | | - |
1345 | 1322 | /** |
1346 | 1323 | * Sets model and view class. |
1347 | 1324 | * |
|
0 commit comments