forked from loafle/openapi-generator-original
[SPRING] Add converters for enums (#13349)
* [SPRING] Add converters for enums * Review * review * fix merge * review
This commit is contained in:
parent
574a70c315
commit
458ea56896
@ -22,11 +22,13 @@ import static org.openapitools.codegen.utils.CamelizeOption.LOWERCASE_FIRST_LETT
|
|||||||
import static org.openapitools.codegen.utils.StringUtils.camelize;
|
import static org.openapitools.codegen.utils.StringUtils.camelize;
|
||||||
|
|
||||||
import com.samskivert.mustache.Mustache;
|
import com.samskivert.mustache.Mustache;
|
||||||
|
import io.swagger.v3.oas.models.Components;
|
||||||
import io.swagger.v3.oas.models.OpenAPI;
|
import io.swagger.v3.oas.models.OpenAPI;
|
||||||
import io.swagger.v3.oas.models.Operation;
|
import io.swagger.v3.oas.models.Operation;
|
||||||
import io.swagger.v3.oas.models.PathItem;
|
import io.swagger.v3.oas.models.PathItem;
|
||||||
import io.swagger.v3.oas.models.media.Schema;
|
import io.swagger.v3.oas.models.media.Schema;
|
||||||
import io.swagger.v3.oas.models.servers.Server;
|
import io.swagger.v3.oas.models.servers.Server;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -41,6 +43,8 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
import org.openapitools.codegen.CliOption;
|
import org.openapitools.codegen.CliOption;
|
||||||
import org.openapitools.codegen.CodegenConstants;
|
import org.openapitools.codegen.CodegenConstants;
|
||||||
@ -498,6 +502,10 @@ public class SpringCodegen extends AbstractJavaCodegen
|
|||||||
this.setUseFeignClient(true);
|
this.setUseFeignClient(true);
|
||||||
} else {
|
} else {
|
||||||
apiTemplateFiles.put("apiController.mustache", "Controller.java");
|
apiTemplateFiles.put("apiController.mustache", "Controller.java");
|
||||||
|
if (containsEnums()) {
|
||||||
|
supportingFiles.add(new SupportingFile("converter.mustache",
|
||||||
|
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "EnumConverterConfiguration.java"));
|
||||||
|
}
|
||||||
supportingFiles.add(new SupportingFile("application.mustache",
|
supportingFiles.add(new SupportingFile("application.mustache",
|
||||||
("src.main.resources").replace(".", java.io.File.separator), "application.properties"));
|
("src.main.resources").replace(".", java.io.File.separator), "application.properties"));
|
||||||
supportingFiles.add(new SupportingFile("homeController.mustache",
|
supportingFiles.add(new SupportingFile("homeController.mustache",
|
||||||
@ -595,6 +603,20 @@ public class SpringCodegen extends AbstractJavaCodegen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean containsEnums() {
|
||||||
|
if (openAPI == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Components components = this.openAPI.getComponents();
|
||||||
|
if (components == null || components.getSchemas() == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return components.getSchemas().values().stream()
|
||||||
|
.anyMatch(it -> it.getEnum() != null && !it.getEnum().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co,
|
public void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co,
|
||||||
Map<String, List<CodegenOperation>> operations) {
|
Map<String, List<CodegenOperation>> operations) {
|
||||||
|
34
modules/openapi-generator/src/main/resources/JavaSpring/converter.mustache
vendored
Normal file
34
modules/openapi-generator/src/main/resources/JavaSpring/converter.mustache
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package {{configPackage}};
|
||||||
|
|
||||||
|
{{#models}}
|
||||||
|
{{#model}}
|
||||||
|
{{#isEnum}}
|
||||||
|
import {{modelPackage}}.{{name}};
|
||||||
|
{{/isEnum}}
|
||||||
|
{{/model}}
|
||||||
|
{{/models}}
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
{{#models}}
|
||||||
|
{{#model}}
|
||||||
|
{{#isEnum}}
|
||||||
|
@Bean
|
||||||
|
Converter<{{{dataType}}}, {{name}}> {{classVarName}}Converter() {
|
||||||
|
return new Converter<{{{dataType}}}, {{name}}>() {
|
||||||
|
@Override
|
||||||
|
public {{name}} convert({{{dataType}}} source) {
|
||||||
|
return {{name}}.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{{/isEnum}}
|
||||||
|
{{/model}}
|
||||||
|
{{/models}}
|
||||||
|
|
||||||
|
}
|
@ -18,6 +18,7 @@
|
|||||||
package org.openapitools.codegen.java.spring;
|
package org.openapitools.codegen.java.spring;
|
||||||
|
|
||||||
import static java.util.stream.Collectors.groupingBy;
|
import static java.util.stream.Collectors.groupingBy;
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.openapitools.codegen.TestUtils.assertFileContains;
|
import static org.openapitools.codegen.TestUtils.assertFileContains;
|
||||||
import static org.openapitools.codegen.TestUtils.assertFileNotContains;
|
import static org.openapitools.codegen.TestUtils.assertFileNotContains;
|
||||||
import static org.openapitools.codegen.languages.SpringCodegen.RESPONSE_WRAPPER;
|
import static org.openapitools.codegen.languages.SpringCodegen.RESPONSE_WRAPPER;
|
||||||
@ -1214,7 +1215,7 @@ public class SpringCodegenTest {
|
|||||||
generator.opts(input).generate();
|
generator.opts(input).generate();
|
||||||
|
|
||||||
File[] generatedModels = new File(outputPath + "/src/main/java/org/openapitools/model").listFiles();
|
File[] generatedModels = new File(outputPath + "/src/main/java/org/openapitools/model").listFiles();
|
||||||
Assertions.assertThat(generatedModels).isNotEmpty();
|
assertThat(generatedModels).isNotEmpty();
|
||||||
|
|
||||||
for (File modelPath : generatedModels) {
|
for (File modelPath : generatedModels) {
|
||||||
JavaFileAssert.assertThat(modelPath)
|
JavaFileAssert.assertThat(modelPath)
|
||||||
@ -1227,22 +1228,9 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHandleDefaultValue_issue8535() throws Exception {
|
public void testHandleDefaultValue_issue8535() throws Exception {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, Object> additionalProperties = new HashMap<>();
|
||||||
output.deleteOnExit();
|
additionalProperties.put(CXFServerFeatures.LOAD_TEST_DATA_FROM_FILE, "true");
|
||||||
|
Map<String, File> files = generateFromContract("src/test/resources/3_0/issue_8535.yaml", SPRING_BOOT, additionalProperties);
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
|
||||||
.readLocation("src/test/resources/3_0/issue_8535.yaml", null, new ParseOptions()).getOpenAPI();
|
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
|
||||||
codegen.additionalProperties().put(CXFServerFeatures.LOAD_TEST_DATA_FROM_FILE, "true");
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
Map<String, File> files = generator.opts(input).generate().stream()
|
|
||||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
|
||||||
|
|
||||||
JavaFileAssert.assertThat(files.get("TestHeadersApi.java"))
|
JavaFileAssert.assertThat(files.get("TestHeadersApi.java"))
|
||||||
.assertMethod("headersTest")
|
.assertMethod("headersTest")
|
||||||
@ -1329,29 +1317,15 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testResponseWithArray_issue11897() throws Exception {
|
public void testResponseWithArray_issue11897() throws Exception {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, Object> additionalProperties = new HashMap<>();
|
||||||
output.deleteOnExit();
|
additionalProperties.put(AbstractJavaCodegen.FULL_JAVA_UTIL, "true");
|
||||||
|
additionalProperties.put(SpringCodegen.USE_TAGS, "true");
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
additionalProperties.put(SpringCodegen.INTERFACE_ONLY, "true");
|
||||||
.readLocation("src/test/resources/bugs/issue_11897.yaml", null, new ParseOptions()).getOpenAPI();
|
additionalProperties.put(SpringCodegen.SKIP_DEFAULT_INTERFACE, "true");
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
additionalProperties.put(SpringCodegen.PERFORM_BEANVALIDATION, "true");
|
||||||
codegen.setLibrary(SPRING_BOOT);
|
additionalProperties.put(SpringCodegen.SPRING_CONTROLLER, "true");
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
additionalProperties.put(CodegenConstants.SERIALIZATION_LIBRARY, "jackson");
|
||||||
codegen.additionalProperties().put(AbstractJavaCodegen.FULL_JAVA_UTIL, "true");
|
Map<String, File> files = generateFromContract("src/test/resources/bugs/issue_11897.yaml", SPRING_BOOT, additionalProperties);
|
||||||
codegen.additionalProperties().put(SpringCodegen.USE_TAGS, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.INTERFACE_ONLY, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.SKIP_DEFAULT_INTERFACE, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.PERFORM_BEANVALIDATION, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.SPRING_CONTROLLER, "true");
|
|
||||||
codegen.additionalProperties().put(CodegenConstants.SERIALIZATION_LIBRARY, "jackson");
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
Map<String, File> files = generator.opts(input).generate().stream()
|
|
||||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
|
||||||
|
|
||||||
JavaFileAssert.assertThat(files.get("MetadataApi.java"))
|
JavaFileAssert.assertThat(files.get("MetadataApi.java"))
|
||||||
.assertMethod("getWithArrayOfObjects").hasReturnType("ResponseEntity<List<TestResponse>>")
|
.assertMethod("getWithArrayOfObjects").hasReturnType("ResponseEntity<List<TestResponse>>")
|
||||||
@ -1369,29 +1343,16 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldSetDefaultValueForMultipleArrayItems() throws IOException {
|
public void shouldSetDefaultValueForMultipleArrayItems() throws IOException {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, Object> additionalProperties = new HashMap<>();
|
||||||
output.deleteOnExit();
|
additionalProperties.put(AbstractJavaCodegen.FULL_JAVA_UTIL, "true");
|
||||||
|
additionalProperties.put(SpringCodegen.USE_TAGS, "true");
|
||||||
|
additionalProperties.put(SpringCodegen.INTERFACE_ONLY, "true");
|
||||||
|
additionalProperties.put(SpringCodegen.SKIP_DEFAULT_INTERFACE, "true");
|
||||||
|
additionalProperties.put(SpringCodegen.PERFORM_BEANVALIDATION, "true");
|
||||||
|
additionalProperties.put(SpringCodegen.SPRING_CONTROLLER, "true");
|
||||||
|
additionalProperties.put(CodegenConstants.SERIALIZATION_LIBRARY, "jackson");
|
||||||
|
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
Map<String, File> files = generateFromContract("src/test/resources/bugs/issue_11957.yaml", SPRING_BOOT, additionalProperties);
|
||||||
.readLocation("src/test/resources/bugs/issue_11957.yaml", null, new ParseOptions()).getOpenAPI();
|
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
|
||||||
codegen.setLibrary(SPRING_BOOT);
|
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
|
||||||
codegen.additionalProperties().put(AbstractJavaCodegen.FULL_JAVA_UTIL, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.USE_TAGS, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.INTERFACE_ONLY, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.SKIP_DEFAULT_INTERFACE, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.PERFORM_BEANVALIDATION, "true");
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.SPRING_CONTROLLER, "true");
|
|
||||||
codegen.additionalProperties().put(CodegenConstants.SERIALIZATION_LIBRARY, "jackson");
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
Map<String, File> files = generator.opts(input).generate().stream()
|
|
||||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
|
||||||
|
|
||||||
JavaFileAssert.assertThat(files.get("SearchApi.java"))
|
JavaFileAssert.assertThat(files.get("SearchApi.java"))
|
||||||
.assertMethod("defaultList")
|
.assertMethod("defaultList")
|
||||||
@ -1417,21 +1378,7 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testPutItemsMethodContainsKeyInSuperClassMethodCall_issue12494() throws IOException {
|
public void testPutItemsMethodContainsKeyInSuperClassMethodCall_issue12494() throws IOException {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, File> files = generateFromContract("src/test/resources/bugs/issue_12494.yaml", null);
|
||||||
output.deleteOnExit();
|
|
||||||
|
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
|
||||||
.readLocation("src/test/resources/bugs/issue_12494.yaml", null, new ParseOptions()).getOpenAPI();
|
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
Map<String, File> files = generator.opts(input).generate().stream()
|
|
||||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
|
||||||
|
|
||||||
JavaFileAssert.assertThat(files.get("ChildClass.java"))
|
JavaFileAssert.assertThat(files.get("ChildClass.java"))
|
||||||
.assertMethod("putSomeMapItem")
|
.assertMethod("putSomeMapItem")
|
||||||
@ -1440,22 +1387,7 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldHandleCustomResponseType_issue11731() throws IOException {
|
public void shouldHandleCustomResponseType_issue11731() throws IOException {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, File> files = generateFromContract("src/test/resources/bugs/issue_11731.yaml", SPRING_BOOT);
|
||||||
output.deleteOnExit();
|
|
||||||
|
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
|
||||||
.readLocation("src/test/resources/bugs/issue_11731.yaml", null, new ParseOptions()).getOpenAPI();
|
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
|
||||||
codegen.setLibrary(SPRING_BOOT);
|
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
Map<String, File> files = generator.opts(input).generate().stream()
|
|
||||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
|
||||||
|
|
||||||
JavaFileAssert.assertThat(files.get("CustomersApi.java"))
|
JavaFileAssert.assertThat(files.get("CustomersApi.java"))
|
||||||
.assertMethod("getAllUsingGET1")
|
.assertMethod("getAllUsingGET1")
|
||||||
@ -1464,23 +1396,9 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldHandleContentTypeWithSecondWildcardSubtype_issue12457() throws IOException {
|
public void shouldHandleContentTypeWithSecondWildcardSubtype_issue12457() throws IOException {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, Object> additionalProperties = new HashMap<>();
|
||||||
output.deleteOnExit();
|
additionalProperties.put(SpringCodegen.USE_TAGS, "true");
|
||||||
|
Map<String, File> files = generateFromContract("src/test/resources/bugs/issue_12457.yaml", SPRING_BOOT, additionalProperties);
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
|
||||||
.readLocation("src/test/resources/bugs/issue_12457.yaml", null, new ParseOptions()).getOpenAPI();
|
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
|
||||||
codegen.setLibrary(SPRING_BOOT);
|
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
|
||||||
codegen.additionalProperties().put(SpringCodegen.USE_TAGS, "true");
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
Map<String, File> files = generator.opts(input).generate().stream()
|
|
||||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
|
||||||
|
|
||||||
JavaFileAssert.assertThat(files.get("UsersApi.java"))
|
JavaFileAssert.assertThat(files.get("UsersApi.java"))
|
||||||
.assertMethod("wildcardSubTypeForContentType")
|
.assertMethod("wildcardSubTypeForContentType")
|
||||||
@ -1493,28 +1411,15 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldGenerateDiscriminatorFromAllOfWhenUsingLegacyDiscriminatorBehaviour_issue12692() throws IOException {
|
public void shouldGenerateDiscriminatorFromAllOfWhenUsingLegacyDiscriminatorBehaviour_issue12692() throws IOException {
|
||||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
Map<String, Object> additionalProperties = new HashMap<>();
|
||||||
output.deleteOnExit();
|
additionalProperties.put(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR, "true");
|
||||||
|
Map<String, File> output = generateFromContract("src/test/resources/bugs/issue_12692.yml", SPRING_BOOT, additionalProperties);
|
||||||
OpenAPI openAPI = new OpenAPIParser()
|
|
||||||
.readLocation("src/test/resources/bugs/issue_12692.yml", null, new ParseOptions()).getOpenAPI();
|
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
|
||||||
codegen.setLibrary(SPRING_BOOT);
|
|
||||||
codegen.setOutputDir(output.getAbsolutePath());
|
|
||||||
codegen.additionalProperties().put(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR, "true");
|
|
||||||
|
|
||||||
ClientOptInput input = new ClientOptInput()
|
|
||||||
.openAPI(openAPI)
|
|
||||||
.config(codegen);
|
|
||||||
|
|
||||||
DefaultGenerator generator = new DefaultGenerator();
|
|
||||||
generator.opts(input).generate();
|
|
||||||
|
|
||||||
String jsonTypeInfo = "@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = \"type\", visible = true)";
|
String jsonTypeInfo = "@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = \"type\", visible = true)";
|
||||||
String jsonSubType = "@JsonSubTypes({\n" +
|
String jsonSubType = "@JsonSubTypes({\n" +
|
||||||
" @JsonSubTypes.Type(value = Cat.class, name = \"cat\")" +
|
" @JsonSubTypes.Type(value = Cat.class, name = \"cat\")" +
|
||||||
"})";
|
"})";
|
||||||
assertFileContains(Paths.get(output.getAbsolutePath() + "/src/main/java/org/openapitools/model/Pet.java"), jsonTypeInfo, jsonSubType);
|
assertFileContains(output.get("Pet.java").toPath(), jsonTypeInfo, jsonSubType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -1696,4 +1601,46 @@ public class SpringCodegenTest {
|
|||||||
.assertMethod("equals")
|
.assertMethod("equals")
|
||||||
.bodyContainsLines("return Arrays.equals(this.picture, testObject.picture);");
|
.bodyContainsLines("return Arrays.equals(this.picture, testObject.picture);");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void contractWithoutEnumDoesNotContainsEnumConverter() throws IOException {
|
||||||
|
Map<String, File> output = generateFromContract("src/test/resources/3_0/generic.yaml", SPRING_BOOT);
|
||||||
|
|
||||||
|
assertThat(output).doesNotContainKey("EnumConverterConfiguration.java");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void contractWithEnumContainsEnumConverter() throws IOException {
|
||||||
|
Map<String, File> output = generateFromContract("src/test/resources/3_0/enum.yaml", SPRING_BOOT);
|
||||||
|
|
||||||
|
JavaFileAssert.assertThat(output.get("EnumConverterConfiguration.java"))
|
||||||
|
.assertMethod("typeConverter");
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<String, File> generateFromContract(String url, String library) throws IOException {
|
||||||
|
return generateFromContract(url, library, new HashMap<>());
|
||||||
|
}
|
||||||
|
private Map<String, File> generateFromContract(String url, String library, Map<String, Object> additionalProperties) throws IOException {
|
||||||
|
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||||
|
output.deleteOnExit();
|
||||||
|
|
||||||
|
OpenAPI openAPI = new OpenAPIParser()
|
||||||
|
.readLocation(url, null, new ParseOptions()).getOpenAPI();
|
||||||
|
|
||||||
|
SpringCodegen codegen = new SpringCodegen();
|
||||||
|
if (null != library) {
|
||||||
|
codegen.setLibrary(library);
|
||||||
|
}
|
||||||
|
codegen.setOutputDir(output.getAbsolutePath());
|
||||||
|
codegen.additionalProperties().putAll(additionalProperties);
|
||||||
|
|
||||||
|
ClientOptInput input = new ClientOptInput()
|
||||||
|
.openAPI(openAPI)
|
||||||
|
.config(codegen);
|
||||||
|
|
||||||
|
DefaultGenerator generator = new DefaultGenerator();
|
||||||
|
|
||||||
|
return generator.opts(input).generate().stream()
|
||||||
|
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
32
modules/openapi-generator/src/test/resources/3_0/enum.yaml
Normal file
32
modules/openapi-generator/src/test/resources/3_0/enum.yaml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
openapi: 3.0.0
|
||||||
|
info:
|
||||||
|
title: Sample API
|
||||||
|
description: API description in Markdown.
|
||||||
|
version: 1.0.0
|
||||||
|
paths:
|
||||||
|
/ponies:
|
||||||
|
get:
|
||||||
|
summary: Returns all animals.
|
||||||
|
description: Optional extended description in Markdown.
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Pony'
|
||||||
|
components:
|
||||||
|
schemas:
|
||||||
|
Pony:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
type:
|
||||||
|
$ref: '#/components/schemas/Type'
|
||||||
|
Type:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- Earth
|
||||||
|
- Pegasi
|
||||||
|
- Unicorn
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,7 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -2,6 +2,7 @@ README.md
|
|||||||
pom.xml
|
pom.xml
|
||||||
src/main/java/org/openapitools/OpenApiGeneratorApplication.java
|
src/main/java/org/openapitools/OpenApiGeneratorApplication.java
|
||||||
src/main/java/org/openapitools/RFC3339DateFormat.java
|
src/main/java/org/openapitools/RFC3339DateFormat.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java
|
src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.virtualan.model.EnumClass;
|
||||||
|
import org.openapitools.virtualan.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@ src/main/java/org/openapitools/api/StoreApi.java
|
|||||||
src/main/java/org/openapitools/api/StoreApiController.java
|
src/main/java/org/openapitools/api/StoreApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
|
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package org.openapitools.configuration;
|
||||||
|
|
||||||
|
import org.openapitools.model.EnumClass;
|
||||||
|
import org.openapitools.model.OuterEnum;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class EnumConverterConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Converter<String, EnumClass> enumClassConverter() {
|
||||||
|
return new Converter<String, EnumClass>() {
|
||||||
|
@Override
|
||||||
|
public EnumClass convert(String source) {
|
||||||
|
return EnumClass.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@Bean
|
||||||
|
Converter<String, OuterEnum> outerEnumConverter() {
|
||||||
|
return new Converter<String, OuterEnum>() {
|
||||||
|
@Override
|
||||||
|
public OuterEnum convert(String source) {
|
||||||
|
return OuterEnum.fromValue(source);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user