Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Java][Jersey2] Generated Jersey 2 ApiClient should be thread-safe #817

Open
jer-kierstead opened this issue Dec 8, 2020 · 0 comments
Open

Comments

@jer-kierstead
Copy link

The generated Jersey 2 ApiClient for codegen v3 currently stores the most recent status code and response headers as fields, which are made available to the caller via accessor methods. This means that the client is not thread-safe if the caller needs to access the status code and/or response headers because it is possible for another caller to complete an invoke call prior to the status code and/or response headers being queried.

It appears that this is solved for other generators by returning status code and response headers via an HTTP info object, and in fact, it appears that this was done for Jersey 2 in codegen v2 - see swagger-api/swagger-codegen#7605 for details.

I'd like to propose that these changes be brought into codegen v3.

FWIW, I'm able to repro this issue using v3.0.23 by setting the following fields in my config.json using the java generator:

{
  // other options such as groupId, artifactId, etc
  // ...
  "dateLibrary": "java8",
  "library": "jersey2"
}
jer-kierstead added a commit to jer-kierstead/swagger-codegen-generators that referenced this issue Dec 8, 2020
Use the withHttpInfo pattern, consistent with many other generated clients, to return status code and response headers to the caller in a thread-safe way.

Refs swagger-api#817
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

No branches or pull requests

1 participant