Skip to content

Commit 338b9c0

Browse files
authored
Merge pull request #8003 from swagger-api/issue-7999
show number as strings
2 parents c91ce17 + b5ffeff commit 338b9c0

File tree

3 files changed

+1004
-1
lines changed

3 files changed

+1004
-1
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwaggerYamlGenerator.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ public void processOpts() {
6060
@Override
6161
public void processSwagger(Swagger swagger) {
6262
try {
63-
final ObjectMapper mapper = new ObjectMapper(new YAMLFactory().configure(YAMLGenerator.Feature.MINIMIZE_QUOTES, true));
63+
final ObjectMapper mapper = new ObjectMapper(new YAMLFactory()
64+
.configure(YAMLGenerator.Feature.MINIMIZE_QUOTES, true)
65+
.configure(YAMLGenerator.Feature.ALWAYS_QUOTE_NUMBERS_AS_STRINGS, true));
6466
configureMapper(mapper);
6567
String swaggerString = mapper.writeValueAsString(swagger);
6668
String outputFile = outputFolder + File.separator + this.outputFile;

modules/swagger-codegen/src/test/java/io/swagger/codegen/swaggeryaml/SwaggerYamlGeneratorTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,29 @@ public void testLongText() throws Exception {
3939
folder.delete();
4040

4141
}
42+
43+
@Test
44+
public void testNumberAsStrings() throws Exception {
45+
final TemporaryFolder folder = new TemporaryFolder();
46+
folder.create();
47+
final File output = folder.getRoot();
48+
final CodegenConfigurator configurator = new CodegenConfigurator()
49+
.setLang("swagger-yaml")
50+
.setInputSpec("src/test/resources/2_0/petstore_issue_7999.json")
51+
.setOutputDir(output.getAbsolutePath());
52+
53+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
54+
new DefaultGenerator().opts(clientOptInput).generate();
55+
56+
File outputFile = new File(output, "swagger.yaml");
57+
Assert.assertTrue(outputFile.exists());
58+
59+
String content = FileUtils.readFileToString(outputFile);
60+
61+
Assert.assertTrue(content.contains("swagger: \"2.0\""));
62+
Assert.assertTrue(content.contains("version: \"1.0\""));
63+
64+
folder.delete();
65+
66+
}
4267
}

0 commit comments

Comments
 (0)