OpenAPITools / OpenAPITools/openapi-generator
[REQ] java client (native) gen - support self written TLS support
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Is your feature request related to a problem? Please describe.
I generated a java native client from a spec and need a TLS (v1.3) connection with mutual authentication support.
Describe the solution you'd like
I implemented a subclass of ApiClient and modified the HttpClient.Builder.
Problem here was, that I needed to overwrite the constructor like this
public TLSApiClient(JsonObject config) {
super(createTlsBuilder(config), createDefaultObjectMapper(), getDefaultBaseUri());
}
And found, that the both methods
- createDefaultObjectMapper() and
- getDefaultBaseUri()
were not reachable, because they were defined protected only, what not helps within a constructor.
I changed both to static with a custom template, because there are no instance dependencies at all.
Please change at least these both methods to public static to support a better customization of HttpClient.Builder for TLS.
Benefit would be that there is no need anymore for a custom template (what btw is not well documented how to do).
Describe alternatives you've considered
Support with the generator TLS in general.
Additional context
Code for mutual TLSv1.3 is available on request.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Java native client template that emits ApiClient and inspect createDefaultObjectMapper() and getDefaultBaseUri(), along with the HttpClient.Builder construction. Make those helpers public static so a subclass can supply a TLS-configured builder without a custom template, and verify generated clients can use the constructor pattern described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, openapi
- Domain
- api, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100