-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
RestEasyReactive Client no longer maps List items in query param as multivalued query field in JDK21 #36170
Comments
/cc @FroMage (resteasy-reactive), @stuartwdouglas (resteasy-reactive) |
Weird, I'll have to try it out. |
I cannot reproduce the problem with OpenJDK 21 |
Just in case you missed it (I did at first), this is about the client, not the server. |
I did indeed :) |
:) |
Adding an example repo in just a few moments |
https://github.com/Alex-Wauters/quarkus-resteasy-listparam-bug Run and launch a request to http://localhost:8080/hello - it makes a request to itself and logs the request to console
Where JDK: |
Here's the output of the same code running on openJDK17:
|
Thanks |
This is an interesting one, I'll soon have a fix for. |
The check that was being done is broken in Java 21 as that version bring SequencedCollection which List now implements Closes: quarkusio#36170
#36197 is the fix |
The check that was being done is broken in Java 21 as that version bring SequencedCollection which List now implements Closes: quarkusio#36170
Fix broken collection assignability check
The check that was being done is broken in Java 21 as that version bring SequencedCollection which List now implements Closes: quarkusio#36170 (cherry picked from commit ffa805a)
The check that was being done is broken in Java 21 as that version bring SequencedCollection which List now implements Closes: quarkusio#36170 (cherry picked from commit ffa805a)
The check that was being done is broken in Java 21 as that version bring SequencedCollection which List now implements Closes: quarkusio#36170
Describe the bug
With quarkus-resteasy-reactive, the behavior of mapping a List<> to a query param appears to have changed when running on OpenJDK 21.
Example resteasy reactive interface client:
Expected behavior
The above code snippet maps in OpenJdk17 to
http://service:8080/exampleAPI?status=PUBLISHED&status=RELEASED
Actual behavior
After updating to JDK21 (Amazoncoretto), it maps to
http://service:8080/exampleAPI?status=%5BPUBLISHED%2C+RELEASED%5D
or URL-decoded:
http://service:8080/exampleAPI?status=[PUBLISHED,+RELEASED]
How to Reproduce?
Create a RESTEASY Reactive Rest client method that accepts a List of enum fields.
Output of
uname -a
orver
No response
Output of
java -version
openjdk version "21" 2023-09-19 OpenJDK Runtime Environment (build 21+35-2513) OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing)
GraalVM version (if different from Java)
No response
Quarkus version or git rev
3.3.3
Build tool (ie. output of
mvnw --version
orgradlew --version
)maven 3.9.4
Additional information
No response
The text was updated successfully, but these errors were encountered: