Skip to content

Conversation

GregDThomas
Copy link
Contributor

@GregDThomas GregDThomas commented Aug 22, 2025

This fixes #20370 by adding a method that allows client to specify a supplier of access tokens to the ApiClient generated by the RestClient library for Spring. Very similar to a previous PR #19002

@cachescrubber (2022/02)
@welshm (2022/02)
@MelleD (2022/02)
@atextor (2022/02)
@manedev79 (2022/02)
@javisst (2022/02)
@borsch (2022/02)
@banlevente (2022/02)
@Zomzog (2022/09)
@martin-mfg (2023/08)

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • 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.
  • File the PR against the correct branch: master (upcoming 7.x.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR solves a reported issue, reference it using GitHub's linking syntax (e.g., having "fixes #123" present in the PR description)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@Mattias-Sehlstedt
Copy link
Contributor

Is this not technically a breaking change since you have completely removed the public void setAccessToken(String accessToken) method signature?

@GregDThomas
Copy link
Contributor Author

I haven’t. The method that takes a String create a supplier of that String and calls the new method.

    public ApiClient setAccessToken(String accessToken) {
        return setAccessToken(() -> accessToken);
    }

@Mattias-Sehlstedt
Copy link
Contributor

Mattias-Sehlstedt commented Aug 23, 2025

I haven’t. The method that takes a String create a supplier of that String and calls the new method.

    public ApiClient setAccessToken(String accessToken) {
        return setAccessToken(() -> accessToken);
    }

The return type has changed, would that not imply that overriding the method with

@Override
public void setAccessToken(String accessToken) {
    <insert code here>
}

will not work without adjustments after this change?

Sure it is very minor, and will most likely not affect anyone. But I was wondering if the return type change is intentional and/or necessary?

@GregDThomas
Copy link
Contributor Author

That’s a valid point. I’ll get that fixed shortly.

@GregDThomas GregDThomas force-pushed the add-rest-client-oauth-supplier branch from 7fc94ae to cb6e094 Compare August 23, 2025 10:58
@GregDThomas
Copy link
Contributor Author

Updated. Thanks for the feedback. You can now see a rendering of original method at (e.g.)

@wing328 wing328 added this to the 7.16.0 milestone Aug 24, 2025
@wing328 wing328 merged commit 814f406 into OpenAPITools:master Aug 26, 2025
86 checks passed
Goopher pushed a commit to Goopher/openapi-generator that referenced this pull request Sep 9, 2025
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.

[REQ] Support for a oauth access token supplier in Java RestClient clients
3 participants