Skip to content

Commit f82de07

Browse files
committed
Use newly introduced lambdas in Spring's API template to avoid generating uncompilable example code
1 parent 1834a65 commit f82de07

File tree

62 files changed

+187
-181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+187
-181
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java

+6
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import org.openapitools.codegen.languages.features.BeanValidationFeatures;
2727
import org.openapitools.codegen.languages.features.OptionalFeatures;
2828
import org.openapitools.codegen.languages.features.PerformBeanValidationFeatures;
29+
import org.openapitools.codegen.templating.mustache.SplitStringLambda;
30+
import org.openapitools.codegen.templating.mustache.TrimWhitespaceLambda;
2931
import org.openapitools.codegen.utils.URLPathUtils;
3032
import org.slf4j.Logger;
3133
import org.slf4j.LoggerFactory;
@@ -425,6 +427,10 @@ public void processOpts() {
425427
(Mustache.Lambda) (fragment, writer) -> writer.write(fragment.execute().replaceAll("\"", Matcher.quoteReplacement("\\\""))));
426428
additionalProperties.put("lambdaRemoveLineBreak",
427429
(Mustache.Lambda) (fragment, writer) -> writer.write(fragment.execute().replaceAll("\\r|\\n", "")));
430+
431+
additionalProperties.put("lambdaTrimWhitespace", new TrimWhitespaceLambda());
432+
433+
additionalProperties.put("lambdaSplitString", new SplitStringLambda());
428434
}
429435

430436
@Override
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}"
1+
{{#lambdaSplitString}}{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{#lambdaTrimWhitespace}}{{{example}}}{{/lambdaTrimWhitespace}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}{{/lambdaSplitString}}

samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/AnotherFakeApi.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ default CompletableFuture<ResponseEntity<Client>> call123testSpecialTags(@ApiPar
4848
getRequest().ifPresent(request -> {
4949
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
5050
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
51-
String exampleString = "{ \"client\" : \"client\"}";
51+
String exampleString = "{ \"client\" : \"client\" }";
5252
ApiUtil.setExampleResponse(request, "application/json", exampleString);
5353
break;
5454
}

samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/FakeApi.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ default CompletableFuture<ResponseEntity<OuterComposite>> fakeOuterCompositeSeri
8181
getRequest().ifPresent(request -> {
8282
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
8383
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
84-
String exampleString = "{ \"my_string\" : \"my_string\", \"my_number\" : 0.8008281904610115, \"my_boolean\" : true}";
84+
String exampleString = "{ \"my_string\" : \"my_string\", \"my_number\" : 0.8008281904610115, \"my_boolean\" : true }";
8585
ApiUtil.setExampleResponse(request, "*/*", exampleString);
8686
break;
8787
}
@@ -153,7 +153,7 @@ default CompletableFuture<ResponseEntity<Client>> testClientModel(@ApiParam(valu
153153
getRequest().ifPresent(request -> {
154154
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
155155
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
156-
String exampleString = "{ \"client\" : \"client\"}";
156+
String exampleString = "{ \"client\" : \"client\" }";
157157
ApiUtil.setExampleResponse(request, "application/json", exampleString);
158158
break;
159159
}
@@ -245,7 +245,7 @@ default CompletableFuture<ResponseEntity<ModelApiResponse>> uploadFileWithRequir
245245
getRequest().ifPresent(request -> {
246246
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
247247
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
248-
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\"}";
248+
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
249249
ApiUtil.setExampleResponse(request, "application/json", exampleString);
250250
break;
251251
}

samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/FakeClassnameTestApi.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ default CompletableFuture<ResponseEntity<Client>> testClassname(@ApiParam(value
5050
getRequest().ifPresent(request -> {
5151
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
5252
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
53-
String exampleString = "{ \"client\" : \"client\"}";
53+
String exampleString = "{ \"client\" : \"client\" }";
5454
ApiUtil.setExampleResponse(request, "application/json", exampleString);
5555
break;
5656
}

samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/PetApi.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,12 @@ default CompletableFuture<ResponseEntity<List<Pet>>> findPetsByStatus(@NotNull @
9090
getRequest().ifPresent(request -> {
9191
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
9292
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
93-
String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"default-name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\"}";
93+
String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"default-name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }";
9494
ApiUtil.setExampleResponse(request, "application/json", exampleString);
9595
break;
9696
}
9797
if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) {
98-
String exampleString = "<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status></Pet>";
98+
String exampleString = "<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status> </Pet>";
9999
ApiUtil.setExampleResponse(request, "application/xml", exampleString);
100100
break;
101101
}
@@ -124,12 +124,12 @@ default CompletableFuture<ResponseEntity<List<Pet>>> findPetsByTags(@NotNull @Ap
124124
getRequest().ifPresent(request -> {
125125
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
126126
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
127-
String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"default-name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\"}";
127+
String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"default-name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }";
128128
ApiUtil.setExampleResponse(request, "application/json", exampleString);
129129
break;
130130
}
131131
if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) {
132-
String exampleString = "<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status></Pet>";
132+
String exampleString = "<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status> </Pet>";
133133
ApiUtil.setExampleResponse(request, "application/xml", exampleString);
134134
break;
135135
}
@@ -156,12 +156,12 @@ default CompletableFuture<ResponseEntity<Pet>> getPetById(@ApiParam(value = "ID
156156
getRequest().ifPresent(request -> {
157157
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
158158
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
159-
String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"default-name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\"}";
159+
String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"default-name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }";
160160
ApiUtil.setExampleResponse(request, "application/json", exampleString);
161161
break;
162162
}
163163
if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) {
164-
String exampleString = "<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status></Pet>";
164+
String exampleString = "<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status> </Pet>";
165165
ApiUtil.setExampleResponse(request, "application/xml", exampleString);
166166
break;
167167
}
@@ -227,7 +227,7 @@ default CompletableFuture<ResponseEntity<ModelApiResponse>> uploadFile(@ApiParam
227227
getRequest().ifPresent(request -> {
228228
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
229229
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
230-
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\"}";
230+
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
231231
ApiUtil.setExampleResponse(request, "application/json", exampleString);
232232
break;
233233
}

samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/StoreApi.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ default CompletableFuture<ResponseEntity<Order>> getOrderById(@Min(1L) @Max(5L)
7676
getRequest().ifPresent(request -> {
7777
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
7878
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
79-
String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\"}";
79+
String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\" }";
8080
ApiUtil.setExampleResponse(request, "application/json", exampleString);
8181
break;
8282
}
8383
if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) {
84-
String exampleString = "<Order> <id>123456789</id> <petId>123456789</petId> <quantity>123</quantity> <shipDate>2000-01-23T04:56:07.000Z</shipDate> <status>aeiou</status> <complete>true</complete></Order>";
84+
String exampleString = "<Order> <id>123456789</id> <petId>123456789</petId> <quantity>123</quantity> <shipDate>2000-01-23T04:56:07.000Z</shipDate> <status>aeiou</status> <complete>true</complete> </Order>";
8585
ApiUtil.setExampleResponse(request, "application/xml", exampleString);
8686
break;
8787
}
@@ -105,12 +105,12 @@ default CompletableFuture<ResponseEntity<Order>> placeOrder(@ApiParam(value = "o
105105
getRequest().ifPresent(request -> {
106106
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
107107
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
108-
String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\"}";
108+
String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\" }";
109109
ApiUtil.setExampleResponse(request, "application/json", exampleString);
110110
break;
111111
}
112112
if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) {
113-
String exampleString = "<Order> <id>123456789</id> <petId>123456789</petId> <quantity>123</quantity> <shipDate>2000-01-23T04:56:07.000Z</shipDate> <status>aeiou</status> <complete>true</complete></Order>";
113+
String exampleString = "<Order> <id>123456789</id> <petId>123456789</petId> <quantity>123</quantity> <shipDate>2000-01-23T04:56:07.000Z</shipDate> <status>aeiou</status> <complete>true</complete> </Order>";
114114
ApiUtil.setExampleResponse(request, "application/xml", exampleString);
115115
break;
116116
}

samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/UserApi.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ default CompletableFuture<ResponseEntity<User>> getUserByName(@ApiParam(value =
9595
getRequest().ifPresent(request -> {
9696
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
9797
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
98-
String exampleString = "{ \"firstName\" : \"firstName\", \"lastName\" : \"lastName\", \"password\" : \"password\", \"userStatus\" : 6, \"phone\" : \"phone\", \"id\" : 0, \"email\" : \"email\", \"username\" : \"username\"}";
98+
String exampleString = "{ \"firstName\" : \"firstName\", \"lastName\" : \"lastName\", \"password\" : \"password\", \"userStatus\" : 6, \"phone\" : \"phone\", \"id\" : 0, \"email\" : \"email\", \"username\" : \"username\" }";
9999
ApiUtil.setExampleResponse(request, "application/json", exampleString);
100100
break;
101101
}
102102
if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) {
103-
String exampleString = "<User> <id>123456789</id> <username>aeiou</username> <firstName>aeiou</firstName> <lastName>aeiou</lastName> <email>aeiou</email> <password>aeiou</password> <phone>aeiou</phone> <userStatus>123</userStatus></User>";
103+
String exampleString = "<User> <id>123456789</id> <username>aeiou</username> <firstName>aeiou</firstName> <lastName>aeiou</lastName> <email>aeiou</email> <password>aeiou</password> <phone>aeiou</phone> <userStatus>123</userStatus> </User>";
104104
ApiUtil.setExampleResponse(request, "application/xml", exampleString);
105105
break;
106106
}

samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/AnotherFakeApi.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ default ResponseEntity<Client> call123testSpecialTags(@ApiParam(value = "client
4646
getRequest().ifPresent(request -> {
4747
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
4848
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
49-
String exampleString = "{ \"client\" : \"client\"}";
49+
String exampleString = "{ \"client\" : \"client\" }";
5050
ApiUtil.setExampleResponse(request, "application/json", exampleString);
5151
break;
5252
}

samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/FakeApi.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ default ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(@ApiParam(val
7979
getRequest().ifPresent(request -> {
8080
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
8181
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
82-
String exampleString = "{ \"my_string\" : \"my_string\", \"my_number\" : 0.8008281904610115, \"my_boolean\" : true}";
82+
String exampleString = "{ \"my_string\" : \"my_string\", \"my_number\" : 0.8008281904610115, \"my_boolean\" : true }";
8383
ApiUtil.setExampleResponse(request, "*/*", exampleString);
8484
break;
8585
}
@@ -149,7 +149,7 @@ default ResponseEntity<Client> testClientModel(@ApiParam(value = "client model"
149149
getRequest().ifPresent(request -> {
150150
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
151151
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
152-
String exampleString = "{ \"client\" : \"client\"}";
152+
String exampleString = "{ \"client\" : \"client\" }";
153153
ApiUtil.setExampleResponse(request, "application/json", exampleString);
154154
break;
155155
}
@@ -239,7 +239,7 @@ default ResponseEntity<ModelApiResponse> uploadFileWithRequiredFile(@ApiParam(va
239239
getRequest().ifPresent(request -> {
240240
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
241241
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
242-
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\"}";
242+
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
243243
ApiUtil.setExampleResponse(request, "application/json", exampleString);
244244
break;
245245
}

samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/FakeClassnameTestApi.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ default ResponseEntity<Client> testClassname(@ApiParam(value = "client model" ,r
4848
getRequest().ifPresent(request -> {
4949
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
5050
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
51-
String exampleString = "{ \"client\" : \"client\"}";
51+
String exampleString = "{ \"client\" : \"client\" }";
5252
ApiUtil.setExampleResponse(request, "application/json", exampleString);
5353
break;
5454
}

0 commit comments

Comments
 (0)