Skip to content

[JAVA-SPRING;KOTLIN-SPRING]: honor useTags=false for HTTP interface libraries - #24862

Draft
Picazsoo wants to merge 2 commits into
OpenAPITools:masterfrom
Picazsoo:bugfix/allow-useTags=false-for-http-interface2
Draft

[JAVA-SPRING;KOTLIN-SPRING]: honor useTags=false for HTTP interface libraries#24862
Picazsoo wants to merge 2 commits into
OpenAPITools:masterfrom
Picazsoo:bugfix/allow-useTags=false-for-http-interface2

Conversation

@Picazsoo

@Picazsoo Picazsoo commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
  • SpringCodegen: include spring-http-interface in supportLibraryUseTags() so useTags=false groups operations by first path segment instead of tag.
  • KotlinSpringServerCodegen: include spring-declarative-http-interface in the addOperationToGroup path-grouping condition alongside spring-boot. spring-cloud was deliberately left out of this condition since useTags defaults to false there and changing it would alter existing default grouping behavior for that library.
  • Add regression tests covering useTags=false/true grouping for both spring-http-interface and spring-declarative-http-interface.
  • Update two pre-existing kotlin-spring tests whose expected output filenames assumed the old (buggy) tag-based grouping for spring-declarative-http-interface.

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.

Summary by cubic

Fixes useTags=false being ignored for Spring HTTP interface libraries so operations group by first path segment instead of tag.

  • Adds spring-http-interface and spring-declarative-http-interface to the path-grouping condition.
  • Sanitizes path segments into valid Java identifiers when grouping (e.g. another-fake becomes anotherFake).
  • Leaves spring-cloud unchanged because useTags defaults to false there, and altering it would change existing grouping behavior.
  • Adds regression tests for both libraries and updates two existing Kotlin Spring tests whose expected filenames assumed the old tag-based grouping.
  • Updates petstore samples and sample configs to set useTags: "true" for spring-http-interface.

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

Review in cubic

- SpringCodegen: include spring-http-interface in supportLibraryUseTags()
  so useTags=false groups operations by first path segment instead of tag.
- KotlinSpringServerCodegen: include spring-declarative-http-interface in
  the addOperationToGroup path-grouping condition alongside spring-boot.
  spring-cloud was deliberately left out of this condition since useTags
  defaults to false there and changing it would alter existing default
  grouping behavior for that library.
- Add regression tests covering useTags=false/true grouping for both
  spring-http-interface and spring-declarative-http-interface.
- Update two pre-existing kotlin-spring tests whose expected output
  filenames assumed the old (buggy) tag-based grouping for
  spring-declarative-http-interface.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Picazsoo Picazsoo changed the title fix(spring): honor useTags=false for HTTP interface libraries [JAVA-SPRING;KOTLIN-SPRING]: honor useTags=false for HTTP interface libraries Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant