Skip to content

Commit f26666a

Browse files
authored
fix: [JAVA][resttemplate] avoid unused Spring imports when generateClientAsBean is false (#24988)
* fix: [JAVA][resttemplate] avoid unused Spring imports when generateClientAsBean is false (#20657) * Update resttemplate samples
1 parent 71c8d9c commit f26666a

51 files changed

Lines changed: 52 additions & 96 deletions

File tree

Some content is hidden

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

‎modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/ApiClient.mustache‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import {{jacksonPackage}}.dataformat.xml.ser.ToXmlGenerator;
88
{{/withXml}}
99
import org.apache.commons.logging.Log;
1010
import org.apache.commons.logging.LogFactory;
11+
{{#generateClientAsBean}}
1112
import org.springframework.beans.factory.annotation.Autowired;
13+
{{/generateClientAsBean}}
1214
import org.springframework.core.ParameterizedTypeReference;
1315
import org.springframework.http.HttpHeaders;
1416
import org.springframework.http.HttpMethod;
@@ -28,7 +30,9 @@ import org.springframework.http.converter.HttpMessageConverter;
2830
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
2931
import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
3032
{{/withXml}}
33+
{{#generateClientAsBean}}
3134
import org.springframework.stereotype.Component;
35+
{{/generateClientAsBean}}
3236
import org.springframework.util.CollectionUtils;
3337
import org.springframework.util.LinkedMultiValueMap;
3438
import org.springframework.util.MultiValueMap;

‎modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/api.mustache‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ import {{javaxPackage}}.validation.constraints.*;
1818
import {{javaxPackage}}.validation.Valid;
1919

2020
{{/useBeanValidation}}
21+
{{#generateClientAsBean}}
2122
import org.springframework.beans.factory.annotation.Autowired;
2223
import org.springframework.stereotype.Component;
24+
{{/generateClientAsBean}}
2325
import org.springframework.util.LinkedMultiValueMap;
2426
import org.springframework.util.MultiValueMap;
2527
import org.springframework.web.client.RestClientException;

‎modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5366,4 +5366,50 @@ private static Path generateJerseyClient(String library, Boolean generateInsecur
53665366
new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
53675367
return output;
53685368
}
5369+
5370+
/**
5371+
* Regression test for <a href="https://github.com/OpenAPITools/openapi-generator/issues/20657">#20657</a>:
5372+
* When generateClientAsBean is false (default), Spring @Component and @Autowired imports
5373+
* should not be included in ApiClient and API classes for the resttemplate library.
5374+
*/
5375+
@Test
5376+
public void testRestTemplateGenerateClientAsBeanDefaultFalse() {
5377+
Path output = newTempFolder();
5378+
CodegenConfigurator configurator = new CodegenConfigurator()
5379+
.setGeneratorName(JAVA_GENERATOR)
5380+
.setLibrary(JavaClientCodegen.RESTTEMPLATE)
5381+
.setInputSpec("src/test/resources/3_0/ping.yaml")
5382+
.setOutputDir(output.toString().replace("\\", "/"));
5383+
5384+
new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
5385+
5386+
assertThat(output.resolve("src/main/java/org/openapitools/client/ApiClient.java")).content()
5387+
.doesNotContain("import org.springframework.beans.factory.annotation.Autowired;")
5388+
.doesNotContain("import org.springframework.stereotype.Component;");
5389+
5390+
assertThat(output.resolve("src/main/java/org/openapitools/client/api/DefaultApi.java")).content()
5391+
.doesNotContain("import org.springframework.beans.factory.annotation.Autowired;")
5392+
.doesNotContain("import org.springframework.stereotype.Component;");
5393+
}
5394+
5395+
@Test
5396+
public void testRestTemplateGenerateClientAsBeanTrue() {
5397+
Path output = newTempFolder();
5398+
CodegenConfigurator configurator = new CodegenConfigurator()
5399+
.setGeneratorName(JAVA_GENERATOR)
5400+
.setLibrary(JavaClientCodegen.RESTTEMPLATE)
5401+
.addAdditionalProperty(JavaClientCodegen.GENERATE_CLIENT_AS_BEAN, true)
5402+
.setInputSpec("src/test/resources/3_0/ping.yaml")
5403+
.setOutputDir(output.toString().replace("\\", "/"));
5404+
5405+
new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
5406+
5407+
assertThat(output.resolve("src/main/java/org/openapitools/client/ApiClient.java")).content()
5408+
.contains("import org.springframework.beans.factory.annotation.Autowired;")
5409+
.contains("import org.springframework.stereotype.Component;");
5410+
5411+
assertThat(output.resolve("src/main/java/org/openapitools/client/api/DefaultApi.java")).content()
5412+
.contains("import org.springframework.beans.factory.annotation.Autowired;")
5413+
.contains("import org.springframework.stereotype.Component;");
5414+
}
53695415
}

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/ApiClient.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
import org.apache.commons.logging.Log;
1717
import org.apache.commons.logging.LogFactory;
18-
import org.springframework.beans.factory.annotation.Autowired;
1918
import org.springframework.core.ParameterizedTypeReference;
2019
import org.springframework.http.HttpHeaders;
2120
import org.springframework.http.HttpMethod;
@@ -30,7 +29,6 @@
3029
import org.springframework.http.client.ClientHttpRequestExecution;
3130
import org.springframework.http.client.ClientHttpRequestInterceptor;
3231
import org.springframework.http.client.ClientHttpResponse;
33-
import org.springframework.stereotype.Component;
3432
import org.springframework.util.CollectionUtils;
3533
import org.springframework.util.LinkedMultiValueMap;
3634
import org.springframework.util.MultiValueMap;

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/api/AuthApi.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import java.util.Map;
1212
import java.util.stream.Collectors;
1313

14-
import org.springframework.beans.factory.annotation.Autowired;
15-
import org.springframework.stereotype.Component;
1614
import org.springframework.util.LinkedMultiValueMap;
1715
import org.springframework.util.MultiValueMap;
1816
import org.springframework.web.client.RestClientException;

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/api/BodyApi.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
import java.util.Map;
1616
import java.util.stream.Collectors;
1717

18-
import org.springframework.beans.factory.annotation.Autowired;
19-
import org.springframework.stereotype.Component;
2018
import org.springframework.util.LinkedMultiValueMap;
2119
import org.springframework.util.MultiValueMap;
2220
import org.springframework.web.client.RestClientException;

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/api/FormApi.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import java.util.Map;
1313
import java.util.stream.Collectors;
1414

15-
import org.springframework.beans.factory.annotation.Autowired;
16-
import org.springframework.stereotype.Component;
1715
import org.springframework.util.LinkedMultiValueMap;
1816
import org.springframework.util.MultiValueMap;
1917
import org.springframework.web.client.RestClientException;

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/api/HeaderApi.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import java.util.Map;
1313
import java.util.stream.Collectors;
1414

15-
import org.springframework.beans.factory.annotation.Autowired;
16-
import org.springframework.stereotype.Component;
1715
import org.springframework.util.LinkedMultiValueMap;
1816
import org.springframework.util.MultiValueMap;
1917
import org.springframework.web.client.RestClientException;

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/api/PathApi.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import java.util.Map;
1313
import java.util.stream.Collectors;
1414

15-
import org.springframework.beans.factory.annotation.Autowired;
16-
import org.springframework.stereotype.Component;
1715
import org.springframework.util.LinkedMultiValueMap;
1816
import org.springframework.util.MultiValueMap;
1917
import org.springframework.web.client.RestClientException;

‎samples/client/echo_api/java/resttemplate/src/main/java/org/openapitools/client/api/QueryApi.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
import java.util.Map;
1919
import java.util.stream.Collectors;
2020

21-
import org.springframework.beans.factory.annotation.Autowired;
22-
import org.springframework.stereotype.Component;
2321
import org.springframework.util.LinkedMultiValueMap;
2422
import org.springframework.util.MultiValueMap;
2523
import org.springframework.web.client.RestClientException;

0 commit comments

Comments
 (0)