mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-11 18:52:44 +00:00
Do not add schema / class name mapping where custom mapping exists (#14984)
* fix #13150 Do not add schema / class name mapping where custom mapping exists * update test spec * improve import * fix import for mapped models * fix python * code clean up * fix dart client import * fix dart:core import * better import * add tests --------- Co-authored-by: Bernie Schelberg <bernard.schelberg@mywave.ai>
This commit is contained in:
@@ -1209,10 +1209,25 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public void addDiscriminatorMappedModelsImports() {
|
||||
/*
|
||||
* To clean up mapped models if needed and add mapped models to imports
|
||||
*
|
||||
* @param cleanUpMappedModels Clean up mapped models if set to true
|
||||
*/
|
||||
public void addDiscriminatorMappedModelsImports(boolean cleanUpMappedModels) {
|
||||
if (discriminator == null || discriminator.getMappedModels() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (cleanUpMappedModels && !this.hasChildren && // no child
|
||||
(this.oneOf == null || this.oneOf.isEmpty()) && // not oneOf
|
||||
(this.anyOf == null || this.anyOf.isEmpty())) { // not anyOf
|
||||
//clear the mapping
|
||||
discriminator.setMappedModels(null);
|
||||
return;
|
||||
}
|
||||
|
||||
// import child schemas defined in mapped models
|
||||
for (CodegenDiscriminator.MappedModel mm : discriminator.getMappedModels()) {
|
||||
if (!"".equals(mm.getModelName())) {
|
||||
imports.add(mm.getModelName());
|
||||
|
||||
@@ -50,6 +50,7 @@ import org.openapitools.codegen.CodegenDiscriminator.MappedModel;
|
||||
import org.openapitools.codegen.api.TemplatingEngineAdapter;
|
||||
import org.openapitools.codegen.config.GlobalSettings;
|
||||
import org.openapitools.codegen.examples.ExampleGenerator;
|
||||
import org.openapitools.codegen.languages.PythonClientCodegen;
|
||||
import org.openapitools.codegen.languages.RustServerCodegen;
|
||||
import org.openapitools.codegen.meta.FeatureSet;
|
||||
import org.openapitools.codegen.meta.GeneratorMetadata;
|
||||
@@ -611,6 +612,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
|
||||
/**
|
||||
* Loop through all models to update different flags (e.g. isSelfReference), children models, etc
|
||||
* and update mapped models for import.
|
||||
*
|
||||
* @param objs Map of models
|
||||
* @return maps of models with various updates
|
||||
@@ -661,10 +663,17 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
}
|
||||
|
||||
// loop through properties of each model to detect self-reference
|
||||
// and update mapped models for import
|
||||
for (ModelsMap entry : objs.values()) {
|
||||
for (ModelMap mo : entry.getModels()) {
|
||||
CodegenModel cm = mo.getModel();
|
||||
removeSelfReferenceImports(cm);
|
||||
|
||||
if (!this.getLegacyDiscriminatorBehavior()) {
|
||||
// skip cleaning up mapped models for python client generator
|
||||
// which uses its own logic
|
||||
cm.addDiscriminatorMappedModelsImports(!(this instanceof PythonClientCodegen));
|
||||
}
|
||||
}
|
||||
}
|
||||
setCircularReferences(allModels);
|
||||
@@ -2655,9 +2664,6 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
if (m.discriminator == null && innerSchema.getDiscriminator() != null) {
|
||||
LOGGER.debug("discriminator is set to null (not correctly set earlier): {}", m.name);
|
||||
m.setDiscriminator(createDiscriminator(m.name, innerSchema, this.openAPI));
|
||||
if (!this.getLegacyDiscriminatorBehavior()) {
|
||||
m.addDiscriminatorMappedModelsImports();
|
||||
}
|
||||
modelDiscriminators++;
|
||||
}
|
||||
|
||||
@@ -2812,6 +2818,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
if (Boolean.TRUE.equals(schema.getNullable())) {
|
||||
m.isNullable = Boolean.TRUE;
|
||||
}
|
||||
|
||||
// end of code block for composed schema
|
||||
}
|
||||
|
||||
@@ -2999,9 +3006,6 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
m.isAlias = (typeAliases.containsKey(name)
|
||||
|| isAliasOfSimpleTypes(schema)); // check if the unaliased schema is an alias of simple OAS types
|
||||
m.setDiscriminator(createDiscriminator(name, schema, this.openAPI));
|
||||
if (!this.getLegacyDiscriminatorBehavior()) {
|
||||
m.addDiscriminatorMappedModelsImports();
|
||||
}
|
||||
|
||||
if (schema.getDeprecated() != null) {
|
||||
m.isDeprecated = schema.getDeprecated();
|
||||
@@ -3455,15 +3459,15 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
break;
|
||||
}
|
||||
currentSchemaName = queue.remove(0);
|
||||
MappedModel mm = new MappedModel(currentSchemaName, toModelName(currentSchemaName));
|
||||
descendentSchemas.add(mm);
|
||||
Schema cs = schemas.get(currentSchemaName);
|
||||
Map<String, Object> vendorExtensions = cs.getExtensions();
|
||||
if (vendorExtensions != null && !vendorExtensions.isEmpty() && vendorExtensions.containsKey("x-discriminator-value")) {
|
||||
String xDiscriminatorValue = (String) vendorExtensions.get("x-discriminator-value");
|
||||
mm = new MappedModel(xDiscriminatorValue, toModelName(currentSchemaName));
|
||||
descendentSchemas.add(mm);
|
||||
}
|
||||
String mappingName =
|
||||
Optional.ofNullable(vendorExtensions)
|
||||
.map(ve -> ve.get("x-discriminator-value"))
|
||||
.map(discriminatorValue -> (String) discriminatorValue)
|
||||
.orElse(currentSchemaName);
|
||||
MappedModel mm = new MappedModel(mappingName, toModelName(currentSchemaName));
|
||||
descendentSchemas.add(mm);
|
||||
}
|
||||
return descendentSchemas;
|
||||
}
|
||||
@@ -3513,10 +3517,11 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
// for schemas that allOf inherit from this schema, add those descendants to this discriminator map
|
||||
List<MappedModel> otherDescendants = getAllOfDescendants(schemaName, openAPI);
|
||||
for (MappedModel otherDescendant : otherDescendants) {
|
||||
// add only if the mapping names are not the same
|
||||
// add only if the mapping names are not the same and the model names are not the same
|
||||
boolean matched = false;
|
||||
for (MappedModel uniqueDescendant : uniqueDescendants) {
|
||||
if (uniqueDescendant.getMappingName().equals(otherDescendant.getMappingName())) {
|
||||
if (uniqueDescendant.getMappingName().equals(otherDescendant.getMappingName())
|
||||
|| (uniqueDescendant.getModelName().equals(otherDescendant.getModelName()))) {
|
||||
matched = true;
|
||||
break;
|
||||
}
|
||||
@@ -7760,9 +7765,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
CodegenModel cm = new CodegenModel();
|
||||
|
||||
cm.setDiscriminator(createDiscriminator("", cs, openAPI));
|
||||
if (!this.getLegacyDiscriminatorBehavior()) {
|
||||
cm.addDiscriminatorMappedModelsImports();
|
||||
}
|
||||
|
||||
for (Schema o : Optional.ofNullable(cs.getOneOf()).orElse(Collections.emptyList())) {
|
||||
if (o.get$ref() == null) {
|
||||
if (cm.discriminator != null && o.get$ref() == null) {
|
||||
|
||||
@@ -337,12 +337,6 @@ public class DartDioClientCodegen extends AbstractDartCodegen {
|
||||
objs = super.postProcessModels(objs);
|
||||
List<ModelMap> models = objs.getModels();
|
||||
ProcessUtils.addIndexToProperties(models, 1);
|
||||
|
||||
for (ModelMap mo : models) {
|
||||
CodegenModel cm = mo.getModel();
|
||||
cm.imports = rewriteImports(cm.imports, true);
|
||||
cm.vendorExtensions.put("x-has-vars", !cm.vars.isEmpty());
|
||||
}
|
||||
return objs;
|
||||
}
|
||||
|
||||
@@ -583,6 +577,16 @@ public class DartDioClientCodegen extends AbstractDartCodegen {
|
||||
adaptToDartInheritance(objs);
|
||||
syncRootTypesWithInnerVars(objs);
|
||||
}
|
||||
|
||||
// loop through models to update the imports
|
||||
for (ModelsMap entry : objs.values()) {
|
||||
for (ModelMap mo : entry.getModels()) {
|
||||
CodegenModel cm = mo.getModel();
|
||||
cm.imports = rewriteImports(cm.imports, true);
|
||||
cm.vendorExtensions.put("x-has-vars", !cm.vars.isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
return objs;
|
||||
}
|
||||
|
||||
@@ -730,6 +734,10 @@ public class DartDioClientCodegen extends AbstractDartCodegen {
|
||||
resultImports.add(i);
|
||||
} else if (importMapping().containsKey(modelImport)) {
|
||||
resultImports.add(importMapping().get(modelImport));
|
||||
} else if (modelImport.startsWith("dart:")) { // import dart:* directly
|
||||
resultImports.add(modelImport);
|
||||
} else if (modelImport.startsWith("package:")) { // e.g. package:openapi/src/model/child.dart
|
||||
resultImports.add(modelImport);
|
||||
} else {
|
||||
resultImports.add("package:" + pubName + "/" + sourceFolder + "/" + modelPackage() + "/" + underscore(modelImport) + ".dart");
|
||||
}
|
||||
|
||||
@@ -2438,8 +2438,17 @@ public class PythonClientCodegen extends AbstractPythonCodegen {
|
||||
if (m.discriminator == null && innerSchema.getDiscriminator() != null) {
|
||||
LOGGER.debug("discriminator is set to null (not correctly set earlier): {}", m.name);
|
||||
m.setDiscriminator(createDiscriminator(m.name, innerSchema, this.openAPI));
|
||||
// directly include the function `addDiscriminatorMappedModelsImports` inline below
|
||||
// as the function has been updated
|
||||
//m.addDiscriminatorMappedModelsImports();
|
||||
if (!this.getLegacyDiscriminatorBehavior()) {
|
||||
m.addDiscriminatorMappedModelsImports();
|
||||
if (m.discriminator != null && m.discriminator.getMappedModels() != null) {
|
||||
for (CodegenDiscriminator.MappedModel mm : m.discriminator.getMappedModels()) {
|
||||
if (!"".equals(mm.getModelName())) {
|
||||
m.getImports().add(mm.getModelName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
modelDiscriminators++;
|
||||
}
|
||||
|
||||
@@ -1101,7 +1101,6 @@ public class DefaultCodegenTest {
|
||||
cm = codegen.fromModel(modelName, sc);
|
||||
hs.clear();
|
||||
hs.add(new CodegenDiscriminator.MappedModel("b", codegen.toModelName("B")));
|
||||
hs.add(new CodegenDiscriminator.MappedModel("B", codegen.toModelName("B")));
|
||||
hs.add(new CodegenDiscriminator.MappedModel("C", codegen.toModelName("C")));
|
||||
Assert.assertEquals(cm.getHasDiscriminatorWithNonEmptyMapping(), true);
|
||||
Assert.assertEquals(cm.discriminator.getMappedModels(), hs);
|
||||
@@ -1585,8 +1584,6 @@ public class DefaultCodegenTest {
|
||||
discriminator.setPropertyBaseName(prop);
|
||||
discriminator.setMapping(null);
|
||||
discriminator.setMappedModels(new HashSet<CodegenDiscriminator.MappedModel>() {{
|
||||
add(new CodegenDiscriminator.MappedModel("DailySubObj", "DailySubObj"));
|
||||
add(new CodegenDiscriminator.MappedModel("SubObj", "SubObj"));
|
||||
add(new CodegenDiscriminator.MappedModel("daily", "DailySubObj"));
|
||||
add(new CodegenDiscriminator.MappedModel("sub-obj", "SubObj"));
|
||||
}});
|
||||
@@ -1984,8 +1981,6 @@ public class DefaultCodegenTest {
|
||||
test.getMapping().put("c", "Child");
|
||||
test.getMappedModels().add(new CodegenDiscriminator.MappedModel("a", "Adult"));
|
||||
test.getMappedModels().add(new CodegenDiscriminator.MappedModel("c", "Child"));
|
||||
test.getMappedModels().add(new CodegenDiscriminator.MappedModel("Adult", "Adult"));
|
||||
test.getMappedModels().add(new CodegenDiscriminator.MappedModel("Child", "Child"));
|
||||
Assert.assertEquals(discriminator, test);
|
||||
}
|
||||
|
||||
|
||||
@@ -903,7 +903,7 @@ public class JavaClientCodegenTest {
|
||||
|
||||
/**
|
||||
* See https://github.com/OpenAPITools/openapi-generator/issues/4803
|
||||
*
|
||||
* <p>
|
||||
* UPDATE: the following test has been ignored due to https://github.com/OpenAPITools/openapi-generator/pull/11081/
|
||||
* We will contact the contributor of the following test to see if the fix will break their use cases and
|
||||
* how we can fix it accordingly.
|
||||
@@ -951,7 +951,7 @@ public class JavaClientCodegenTest {
|
||||
|
||||
/**
|
||||
* See https://github.com/OpenAPITools/openapi-generator/issues/4803
|
||||
*
|
||||
* <p>
|
||||
* UPDATE: the following test has been ignored due to https://github.com/OpenAPITools/openapi-generator/pull/11081/
|
||||
* We will contact the contributor of the following test to see if the fix will break their use cases and
|
||||
* how we can fix it accordingly.
|
||||
@@ -1007,23 +1007,23 @@ public class JavaClientCodegenTest {
|
||||
output.deleteOnExit();
|
||||
|
||||
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.WEBCLIENT)
|
||||
.setAdditionalProperties(properties)
|
||||
.setInputSpec("src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.WEBCLIENT)
|
||||
.setAdditionalProperties(properties)
|
||||
.setInputSpec("src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
Map<String, File> files = generator.opts(configurator.toClientOptInput()).generate().stream()
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
|
||||
JavaFileAssert.assertThat(files.get("StoreApi.java"))
|
||||
.assertMethod("getInventory").hasReturnType("Mono<Map<String, Integer>>") //explicit 'x-webclient-blocking: false' which overrides global config
|
||||
.toFileAssert()
|
||||
.assertMethod("placeOrder").hasReturnType("Order"); // use global config
|
||||
.assertMethod("getInventory").hasReturnType("Mono<Map<String, Integer>>") //explicit 'x-webclient-blocking: false' which overrides global config
|
||||
.toFileAssert()
|
||||
.assertMethod("placeOrder").hasReturnType("Order"); // use global config
|
||||
|
||||
JavaFileAssert.assertThat(files.get("PetApi.java"))
|
||||
.assertMethod("findPetsByStatus").hasReturnType("List<Pet>"); // explicit 'x-webclient-blocking: true' which overrides global config
|
||||
.assertMethod("findPetsByStatus").hasReturnType("List<Pet>"); // explicit 'x-webclient-blocking: true' which overrides global config
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1057,7 +1057,7 @@ public class JavaClientCodegenTest {
|
||||
|
||||
/**
|
||||
* See https://github.com/OpenAPITools/openapi-generator/issues/6715
|
||||
*
|
||||
* <p>
|
||||
* UPDATE: the following test has been ignored due to https://github.com/OpenAPITools/openapi-generator/pull/11081/
|
||||
* We will contact the contributor of the following test to see if the fix will break their use cases and
|
||||
* how we can fix it accordingly.
|
||||
@@ -1151,7 +1151,7 @@ public class JavaClientCodegenTest {
|
||||
.orElseThrow(() -> new IllegalStateException(String.format(Locale.ROOT, "Operation with id [%s] does not exist", operationId)));
|
||||
}
|
||||
|
||||
private Optional<CodegenOperation> getByCriteria(List<CodegenOperation> codegenOperations, Predicate<CodegenOperation> filter){
|
||||
private Optional<CodegenOperation> getByCriteria(List<CodegenOperation> codegenOperations, Predicate<CodegenOperation> filter) {
|
||||
return codegenOperations.stream()
|
||||
.filter(filter)
|
||||
.findFirst();
|
||||
@@ -1190,7 +1190,7 @@ public class JavaClientCodegenTest {
|
||||
|
||||
/**
|
||||
* See https://github.com/OpenAPITools/openapi-generator/issues/6715
|
||||
*
|
||||
* <p>
|
||||
* UPDATE: the following test has been ignored due to https://github.com/OpenAPITools/openapi-generator/pull/11081/
|
||||
* We will contact the contributor of the following test to see if the fix will break their use cases and
|
||||
* how we can fix it accordingly.
|
||||
@@ -1554,24 +1554,24 @@ public class JavaClientCodegenTest {
|
||||
output.deleteOnExit();
|
||||
|
||||
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||
.setAdditionalProperties(properties)
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.MICROPROFILE)
|
||||
.setInputSpec("src/test/resources/bugs/issue_12622.json")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
.setAdditionalProperties(properties)
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.MICROPROFILE)
|
||||
.setInputSpec("src/test/resources/bugs/issue_12622.json")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
|
||||
final ClientOptInput clientOptInput = configurator.toClientOptInput();
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
Map<String, File> files = generator.opts(clientOptInput).generate().stream()
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
|
||||
JavaFileAssert.assertThat(files.get("Foo.java"))
|
||||
.assertConstructor("String", "Integer")
|
||||
.hasParameter("b")
|
||||
.assertConstructor("String", "Integer")
|
||||
.hasParameter("b")
|
||||
.assertParameterAnnotations()
|
||||
.containsWithNameAndAttributes("JsonbProperty", ImmutableMap.of("value", "\"b\"", "nillable", "true"))
|
||||
.toParameter().toConstructor()
|
||||
.hasParameter("c")
|
||||
.toParameter().toConstructor()
|
||||
.hasParameter("c")
|
||||
.assertParameterAnnotations()
|
||||
.containsWithNameAndAttributes("JsonbProperty", ImmutableMap.of("value", "\"c\""));
|
||||
}
|
||||
@@ -1585,24 +1585,24 @@ public class JavaClientCodegenTest {
|
||||
output.deleteOnExit();
|
||||
|
||||
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||
.setAdditionalProperties(properties)
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.WEBCLIENT)
|
||||
.setInputSpec("src/test/resources/bugs/issue_12790.yaml")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
.setAdditionalProperties(properties)
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.WEBCLIENT)
|
||||
.setInputSpec("src/test/resources/bugs/issue_12790.yaml")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
|
||||
final ClientOptInput clientOptInput = configurator.toClientOptInput();
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
Map<String, File> files = generator.opts(clientOptInput).generate().stream()
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
|
||||
JavaFileAssert.assertThat(files.get("TestObject.java"))
|
||||
.printFileContent()
|
||||
.assertConstructor("String", "String")
|
||||
.bodyContainsLines(
|
||||
"this.nullableProperty = nullableProperty == null ? JsonNullable.<String>undefined() : JsonNullable.of(nullableProperty);",
|
||||
"this.notNullableProperty = notNullableProperty;"
|
||||
);
|
||||
.printFileContent()
|
||||
.assertConstructor("String", "String")
|
||||
.bodyContainsLines(
|
||||
"this.nullableProperty = nullableProperty == null ? JsonNullable.<String>undefined() : JsonNullable.of(nullableProperty);",
|
||||
"this.notNullableProperty = notNullableProperty;"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1631,9 +1631,9 @@ public class JavaClientCodegenTest {
|
||||
|
||||
Path defaultApi = Paths.get(output + "/src/main/java/xyz/abcdef/api/ResourceApi.java");
|
||||
TestUtils.assertFileContains(defaultApi,
|
||||
"org.springframework.core.io.Resource resourceInResponse()",
|
||||
"ResponseEntity<org.springframework.core.io.Resource> resourceInResponseWithHttpInfo()",
|
||||
"ParameterizedTypeReference<org.springframework.core.io.Resource> localReturnType = new ParameterizedTypeReference<org.springframework.core.io.Resource>()"
|
||||
"org.springframework.core.io.Resource resourceInResponse()",
|
||||
"ResponseEntity<org.springframework.core.io.Resource> resourceInResponseWithHttpInfo()",
|
||||
"ParameterizedTypeReference<org.springframework.core.io.Resource> localReturnType = new ParameterizedTypeReference<org.springframework.core.io.Resource>()"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1689,13 +1689,13 @@ public class JavaClientCodegenTest {
|
||||
|
||||
JavaFileAssert.assertThat(files.get("DefaultApi.java"))
|
||||
.assertMethod("operationWithHttpInfo")
|
||||
.hasParameter("requestBody")
|
||||
.assertParameterAnnotations()
|
||||
.containsWithName("NotNull")
|
||||
.hasParameter("requestBody")
|
||||
.assertParameterAnnotations()
|
||||
.containsWithName("NotNull")
|
||||
.toParameter().toMethod()
|
||||
.hasParameter("xNonNullHeaderParameter")
|
||||
.assertParameterAnnotations()
|
||||
.containsWithName("NotNull");
|
||||
.hasParameter("xNonNullHeaderParameter")
|
||||
.assertParameterAnnotations()
|
||||
.containsWithName("NotNull");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1707,18 +1707,18 @@ public class JavaClientCodegenTest {
|
||||
output.deleteOnExit();
|
||||
|
||||
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.NATIVE)
|
||||
.setAdditionalProperties(properties)
|
||||
.setInputSpec("src/test/resources/3_0/exploded-query-param-array.yaml")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
.setGeneratorName("java")
|
||||
.setLibrary(JavaClientCodegen.NATIVE)
|
||||
.setAdditionalProperties(properties)
|
||||
.setInputSpec("src/test/resources/3_0/exploded-query-param-array.yaml")
|
||||
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||
|
||||
final ClientOptInput clientOptInput = configurator.toClientOptInput();
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
generator.opts(clientOptInput).generate();
|
||||
|
||||
TestUtils.assertFileContains(Paths.get(output + "/src/main/java/xyz/abcdef/api/DefaultApi.java"),
|
||||
"localVarQueryParams.addAll(ApiClient.parameterToPairs(\"multi\", \"values\", queryObject.getValues()));"
|
||||
"localVarQueryParams.addAll(ApiClient.parameterToPairs(\"multi\", \"values\", queryObject.getValues()));"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1763,7 +1763,7 @@ public class JavaClientCodegenTest {
|
||||
output.deleteOnExit();
|
||||
String outputPath = output.getAbsolutePath().replace('\\', '/');
|
||||
OpenAPI openAPI = new OpenAPIParser()
|
||||
.readLocation("src/test/resources/bugs/issue_14731.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
.readLocation("src/test/resources/bugs/issue_14731.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
|
||||
JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.setOutputDir(output.getAbsolutePath());
|
||||
@@ -1801,7 +1801,7 @@ public class JavaClientCodegenTest {
|
||||
output.deleteOnExit();
|
||||
String outputPath = output.getAbsolutePath().replace('\\', '/');
|
||||
OpenAPI openAPI = new OpenAPIParser()
|
||||
.readLocation("src/test/resources/bugs/issue_14731.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
.readLocation("src/test/resources/bugs/issue_14731.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
|
||||
JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.setOutputDir(output.getAbsolutePath());
|
||||
@@ -1834,4 +1834,78 @@ public class JavaClientCodegenTest {
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/ChildWithoutMappingADTO.java"), "@JsonTypeName");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/ChildWithoutMappingBDTO.java"), "@JsonTypeName");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testForJavaNativeJsonSubtype() throws IOException {
|
||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||
output.deleteOnExit();
|
||||
String outputPath = output.getAbsolutePath().replace('\\', '/');
|
||||
OpenAPI openAPI = new OpenAPIParser()
|
||||
.readLocation("src/test/resources/bugs/issue_14917.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
|
||||
JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.setOutputDir(output.getAbsolutePath());
|
||||
|
||||
ClientOptInput input = new ClientOptInput();
|
||||
input.openAPI(openAPI);
|
||||
input.config(codegen);
|
||||
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
codegen.setLibrary(JavaClientCodegen.NATIVE);
|
||||
|
||||
generator.opts(input).generate();
|
||||
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "mappings.put(\"Cat\", Cat.class)");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "@JsonSubTypes");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "mappings.put(\"cat\", Cat.class);");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "mappings.put(\"dog\", Dog.class);");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "mappings.put(\"lizard\", Lizard.class);");
|
||||
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Cat.class, name = \"cat\")");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Dog.class, name = \"dog\")");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Lizard.class, name = \"lizard\")");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "mappings.put(\"cat\", Cat.class)");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "mappings.put(\"dog\", Dog.class)");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "mappings.put(\"lizard\", Lizard.class)");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "mappings.put(\"Pet\", Pet.class)");
|
||||
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Cat.class, name = \"Cat\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Dog.class, name = \"Dog\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Lizard.class, name = \"Lizard\")");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testForJavaApacheHttpClientJsonSubtype() throws IOException {
|
||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||
output.deleteOnExit();
|
||||
String outputPath = output.getAbsolutePath().replace('\\', '/');
|
||||
OpenAPI openAPI = new OpenAPIParser()
|
||||
.readLocation("src/test/resources/bugs/issue_14917.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
|
||||
JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.setOutputDir(output.getAbsolutePath());
|
||||
|
||||
ClientOptInput input = new ClientOptInput();
|
||||
input.openAPI(openAPI);
|
||||
input.config(codegen);
|
||||
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
codegen.setLibrary(JavaClientCodegen.APACHE);
|
||||
|
||||
generator.opts(input).generate();
|
||||
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = \"petType\", visible = true)");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "mappings.put");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "@JsonSubTypes.Type(value = Cat.class, name = \"cat\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "@JsonSubTypes.Type(value = Dog.class, name = \"dog\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Cat.java"), "@JsonSubTypes.Type(value = Lizard.class, name = \"lizard\")");
|
||||
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = \"petType\", visible = true)");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Cat.class, name = \"cat\")");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Dog.class, name = \"dog\")");
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Lizard.class, name = \"lizard\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Cat.class, name = \"Cat\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Dog.class, name = \"Dog\")");
|
||||
assertFileNotContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/model/Pet.java"), "@JsonSubTypes.Type(value = Lizard.class, name = \"Lizard\")");
|
||||
}
|
||||
}
|
||||
@@ -2191,6 +2191,44 @@ public class SpringCodegenTest {
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMappingSubtypesIssue13150() throws IOException {
|
||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||
output.deleteOnExit();
|
||||
String outputPath = output.getAbsolutePath().replace('\\', '/');
|
||||
OpenAPI openAPI = new OpenAPIParser()
|
||||
.readLocation("src/test/resources/bugs/issue_13150.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
|
||||
SpringCodegen codegen = new SpringCodegen();
|
||||
codegen.setOutputDir(output.getAbsolutePath());
|
||||
codegen.additionalProperties().put(CXFServerFeatures.LOAD_TEST_DATA_FROM_FILE, "true");
|
||||
codegen.setUseOneOfInterfaces(true);
|
||||
|
||||
ClientOptInput input = new ClientOptInput();
|
||||
input.openAPI(openAPI);
|
||||
input.config(codegen);
|
||||
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
codegen.setHateoas(true);
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.MODELS, "true");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR, "false");
|
||||
|
||||
codegen.setUseOneOfInterfaces(true);
|
||||
codegen.setLegacyDiscriminatorBehavior(false);
|
||||
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.MODEL_TESTS, "false");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.MODEL_DOCS, "false");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.APIS, "true");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.SUPPORTING_FILES, "false");
|
||||
|
||||
generator.opts(input).generate();
|
||||
|
||||
String jsonSubType = "@JsonSubTypes({\n" +
|
||||
" @JsonSubTypes.Type(value = Foo.class, name = \"foo\")\n" +
|
||||
"})";
|
||||
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/model/Parent.java"), jsonSubType);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGenerateJsonPropertyAnnotationLocatedInGetters_issue5705() throws IOException {
|
||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||
|
||||
@@ -388,8 +388,6 @@ public class RubyClientCodegenTest {
|
||||
Set<CodegenDiscriminator.MappedModel> mappedModels = new LinkedHashSet<CodegenDiscriminator.MappedModel>();
|
||||
mappedModels.add(new CodegenDiscriminator.MappedModel("a", "Adult"));
|
||||
mappedModels.add(new CodegenDiscriminator.MappedModel("c", "Child"));
|
||||
mappedModels.add(new CodegenDiscriminator.MappedModel("Adult", "Adult"));
|
||||
mappedModels.add(new CodegenDiscriminator.MappedModel("Child", "Child"));
|
||||
Assert.assertEquals(codegenDiscriminator.getMappedModels(), mappedModels);
|
||||
}
|
||||
|
||||
|
||||
@@ -1484,6 +1484,9 @@ components:
|
||||
type: object
|
||||
discriminator:
|
||||
propertyName: className
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
required:
|
||||
- className
|
||||
properties:
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
openapi: '3.0.0'
|
||||
info:
|
||||
version: '1.0.0'
|
||||
title: 'FooService'
|
||||
paths:
|
||||
/parent:
|
||||
put:
|
||||
summary: put parent
|
||||
operationId: putParent
|
||||
parameters:
|
||||
- name: name
|
||||
in: path
|
||||
required: true
|
||||
description: Name of the account being updated.
|
||||
schema:
|
||||
type: string
|
||||
requestBody:
|
||||
description: The updated account definition to save.
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Parent'
|
||||
responses:
|
||||
'200':
|
||||
$ref: '#/components/responses/Parent'
|
||||
components:
|
||||
schemas:
|
||||
Parent:
|
||||
type: object
|
||||
description: Defines an account by name.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: The account name.
|
||||
type:
|
||||
type: string
|
||||
description: The account type discriminator.
|
||||
required:
|
||||
- name
|
||||
- type
|
||||
discriminator:
|
||||
propertyName: type
|
||||
mapping:
|
||||
foo: '#/components/schemas/Foo'
|
||||
|
||||
Foo:
|
||||
allOf:
|
||||
- $ref: "#/components/schemas/Parent"
|
||||
- type: object
|
||||
properties:
|
||||
fooType:
|
||||
type: string
|
||||
responses:
|
||||
Parent:
|
||||
description: The saved account definition.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Parent'
|
||||
@@ -0,0 +1,66 @@
|
||||
openapi: 3.0.0
|
||||
info:
|
||||
title: test
|
||||
description: >-
|
||||
test schema
|
||||
version: 1.0.0
|
||||
servers:
|
||||
- url: 'http://test.com'
|
||||
description: stage
|
||||
paths:
|
||||
/demo:
|
||||
get:
|
||||
summary: placeholder summary
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
components:
|
||||
schemas:
|
||||
AllPets:
|
||||
type: object
|
||||
properties:
|
||||
pets:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
Pet:
|
||||
type: object
|
||||
required:
|
||||
- petType
|
||||
properties:
|
||||
petType:
|
||||
type: string
|
||||
discriminator:
|
||||
propertyName: petType
|
||||
mapping:
|
||||
cat: '#/components/schemas/Cat'
|
||||
dog: '#/components/schemas/Dog'
|
||||
lizard: '#/components/schemas/Lizard'
|
||||
Cat:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Pet'
|
||||
- type: object
|
||||
# all other properties specific to a `Cat`
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
Dog:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Pet'
|
||||
- type: object
|
||||
# all other properties specific to a `Dog`
|
||||
properties:
|
||||
bark:
|
||||
type: string
|
||||
Lizard:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Pet'
|
||||
- type: object
|
||||
# all other properties specific to a `Lizard`
|
||||
properties:
|
||||
lovesRocks:
|
||||
type: boolean
|
||||
@@ -20,8 +20,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,8 +20,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1507,6 +1507,9 @@ components:
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
Animal:
|
||||
discriminator:
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
propertyName: className
|
||||
properties:
|
||||
className:
|
||||
|
||||
@@ -23,8 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
@@ -45,8 +43,8 @@ import java.util.StringJoiner;
|
||||
)
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true)
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "Cat"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "CAT"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "DOG"),
|
||||
})
|
||||
|
||||
public class Animal {
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -1507,6 +1507,9 @@ components:
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
Animal:
|
||||
discriminator:
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
propertyName: className
|
||||
properties:
|
||||
className:
|
||||
|
||||
@@ -23,8 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
@@ -42,8 +40,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
)
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true)
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "Cat"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "CAT"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "DOG"),
|
||||
})
|
||||
|
||||
public class Animal {
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -25,9 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -25,9 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.ParentPet;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.GrandparentAnimal;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
@@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
|
||||
@@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.ParentPet;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.GrandparentAnimal;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
@@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
|
||||
@@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.ParentPet;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.GrandparentAnimal;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import android.os.Parcelable;
|
||||
import android.os.Parcel;
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import android.os.Parcelable;
|
||||
import android.os.Parcel;
|
||||
|
||||
|
||||
@@ -21,8 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.ParentPet;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.Valid;
|
||||
import org.hibernate.validator.constraints.*;
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.Valid;
|
||||
import org.hibernate.validator.constraints.*;
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.*;
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.*;
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
/**
|
||||
* Animal
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
|
||||
/**
|
||||
* Cat
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
/**
|
||||
* Animal
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
|
||||
/**
|
||||
* Cat
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
|
||||
/**
|
||||
* Animal
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import java.io.IOException;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
|
||||
/**
|
||||
* Cat
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -23,9 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Animal;
|
||||
import org.openapitools.client.model.BigCat;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
|
||||
@@ -1507,6 +1507,9 @@ components:
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
Animal:
|
||||
discriminator:
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
propertyName: className
|
||||
properties:
|
||||
className:
|
||||
|
||||
@@ -23,8 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
@@ -42,8 +40,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
)
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true)
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "Cat"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "CAT"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "DOG"),
|
||||
})
|
||||
|
||||
public class Animal {
|
||||
|
||||
@@ -1507,6 +1507,9 @@ components:
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
Animal:
|
||||
discriminator:
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
propertyName: className
|
||||
properties:
|
||||
className:
|
||||
|
||||
@@ -23,8 +23,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
|
||||
@@ -42,8 +40,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
)
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true)
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "Cat"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "CAT"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "DOG"),
|
||||
})
|
||||
|
||||
public class Animal {
|
||||
|
||||
@@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@@ -8,9 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import org.openapitools.model.BigCatDto;
|
||||
import org.openapitools.model.CatDto;
|
||||
import org.openapitools.model.DogDto;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import org.openapitools.model.AnimalDto;
|
||||
import org.openapitools.model.BigCatDto;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@@ -57,10 +57,10 @@ export function AnimalFromJSONTyped(json: any, ignoreDiscriminator: boolean): An
|
||||
return json;
|
||||
}
|
||||
if (!ignoreDiscriminator) {
|
||||
if (json['className'] === 'Cat') {
|
||||
if (json['className'] === 'CAT') {
|
||||
return CatFromJSONTyped(json, true);
|
||||
}
|
||||
if (json['className'] === 'Dog') {
|
||||
if (json['className'] === 'DOG') {
|
||||
return DogFromJSONTyped(json, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ abstract class Animal {
|
||||
static const String discriminatorFieldName = r'className';
|
||||
|
||||
static const Map<String, Type> discriminatorMapping = {
|
||||
r'Cat': Cat,
|
||||
r'Dog': Dog,
|
||||
r'CAT': Cat,
|
||||
r'DOG': Dog,
|
||||
};
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
@@ -37,10 +37,10 @@ abstract class Animal {
|
||||
extension AnimalDiscriminatorExt on Animal {
|
||||
String? get discriminatorValue {
|
||||
if (this is Cat) {
|
||||
return r'Cat';
|
||||
return r'CAT';
|
||||
}
|
||||
if (this is Dog) {
|
||||
return r'Dog';
|
||||
return r'DOG';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -48,10 +48,10 @@ extension AnimalDiscriminatorExt on Animal {
|
||||
extension AnimalBuilderDiscriminatorExt on AnimalBuilder {
|
||||
String? get discriminatorValue {
|
||||
if (this is CatBuilder) {
|
||||
return r'Cat';
|
||||
return r'CAT';
|
||||
}
|
||||
if (this is DogBuilder) {
|
||||
return r'Dog';
|
||||
return r'DOG';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -108,9 +108,9 @@ class _$AnimalSerializer implements PrimitiveSerializer<Animal> {
|
||||
final discIndex = serializedList.indexOf(Animal.discriminatorFieldName) + 1;
|
||||
final discValue = serializers.deserialize(serializedList[discIndex], specifiedType: FullType(String)) as String;
|
||||
switch (discValue) {
|
||||
case r'Cat':
|
||||
case r'CAT':
|
||||
return serializers.deserialize(serialized, specifiedType: FullType(Cat)) as Cat;
|
||||
case r'Dog':
|
||||
case r'DOG':
|
||||
return serializers.deserialize(serialized, specifiedType: FullType(Dog)) as Dog;
|
||||
default:
|
||||
return serializers.deserialize(serialized, specifiedType: FullType($Animal)) as $Animal;
|
||||
|
||||
@@ -25,8 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildSchema;
|
||||
import org.openapitools.client.model.MySchemaNameCharacters;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.Cat;
|
||||
import org.openapitools.client.model.Dog;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.ParentPet;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.openapitools.client.model.ChildCat;
|
||||
import org.openapitools.client.model.GrandparentAnimal;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import org.openapitools.client.JSON;
|
||||
|
||||
@@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -7,12 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.Bar;
|
||||
import org.openapitools.model.BarCreate;
|
||||
import org.openapitools.model.Foo;
|
||||
import org.openapitools.model.Pasta;
|
||||
import org.openapitools.model.Pizza;
|
||||
import org.openapitools.model.PizzaSpeziale;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -7,8 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.BarRef;
|
||||
import org.openapitools.model.FooRef;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import java.math.BigDecimal;
|
||||
import org.openapitools.model.Entity;
|
||||
import org.openapitools.model.PizzaSpeziale;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -15,8 +15,6 @@ package org.openapitools.server.model;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.server.model.Cat;
|
||||
import org.openapitools.server.model.Dog;
|
||||
import jakarta.validation.constraints.*;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
|
||||
@@ -1507,6 +1507,9 @@ components:
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
Animal:
|
||||
discriminator:
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
propertyName: className
|
||||
properties:
|
||||
className:
|
||||
|
||||
@@ -3,8 +3,6 @@ package org.openapitools.server.model;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.server.model.Cat;
|
||||
import org.openapitools.server.model.Dog;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1507,6 +1507,9 @@ components:
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
Animal:
|
||||
discriminator:
|
||||
mapping:
|
||||
DOG: '#/components/schemas/Dog'
|
||||
CAT: '#/components/schemas/Cat'
|
||||
propertyName: className
|
||||
properties:
|
||||
className:
|
||||
|
||||
@@ -34,8 +34,8 @@ import javax.validation.Valid;
|
||||
})
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen")@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true)
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "Cat"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
|
||||
@JsonSubTypes.Type(value = Cat.class, name = "CAT"),
|
||||
@JsonSubTypes.Type(value = Dog.class, name = "DOG"),
|
||||
})
|
||||
|
||||
public class Animal {
|
||||
|
||||
@@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -9,9 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@@ -9,9 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -9,9 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.model.Cat;
|
||||
import org.openapitools.model.Dog;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.BigCat;
|
||||
import org.openapitools.jackson.nullable.JsonNullable;
|
||||
import java.time.OffsetDateTime;
|
||||
import javax.validation.Valid;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user