Skip to content

fix: [JAVA][resttemplate] avoid unused Spring imports when generateClientAsBean is false - #24988

Merged
wing328 merged 2 commits into
OpenAPITools:masterfrom
Natarajan717:feature/20657-fix
Sep 23, 2026
Merged

wing328 merged 2 commits into
OpenAPITools:masterfrom
Natarajan717:feature/20657-fix

Conversation

@Natarajan717

@Natarajan717 Natarajan717 commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #20657

PR checklist

  • Read the contribution guidelines.
  • Run the following to build the project and update samples:
    ./mvnw clean package || exit
    ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
    ./bin/utils/export_docs_generators.sh || exit
    
    (For Windows users, please run the script in WSL)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

Description of the PR

Fixes #20657

When generating a Java client with --library resttemplate and default settings (generateClientAsBean=false), ApiClient.java and API classes still unconditionally imported org.springframework.beans.factory.annotation.Autowired and org.springframework.stereotype.Component, leading to unused import warnings.

This PR wraps these imports in {{#generateClientAsBean}}...{{/generateClientAsBean}} in both:

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

(matching the behavior already implemented in webclient and restclient).

Related Issue

Fixes #20657
cc: @wing328


Summary by cubic

Fixes #20657: the Java resttemplate templates for ApiClient and API classes now only emit Spring @Autowired and @Component imports when generateClientAsBean is true. Generated clients no longer contain unused Spring imports with the default generateClientAsBean=false configuration, matching the behavior already present in webclient and restclient. Regression tests cover both flag values.

Written for commit f9c406f. Summary will update on new commits.

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 51 files

Re-trigger cubic

@wing328 wing328 added this to the 7.26.0 milestone Sep 23, 2026
@wing328
wing328 merged commit f26666a into OpenAPITools:master Sep 23, 2026
149 of 150 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] [Java] [resttemplate] Spring's @Component annotation is imported even if generateClientAsBean is set to false

2 participants