Skip to content

Add Jakarta REST client module for HttpClient#816

Open
arturobernalg wants to merge 1 commit intoapache:masterfrom
arturobernalg:jakarta-rest
Open

Add Jakarta REST client module for HttpClient#816
arturobernalg wants to merge 1 commit intoapache:masterfrom
arturobernalg:jakarta-rest

Conversation

@arturobernalg
Copy link
Copy Markdown
Member

This PR adds httpclient5-jakarta-rest-client, a small Java 11+ client-side module that creates implementations of jakarta.ws.rs-annotated interfaces with Apache HttpClient underneath.

The c/]qurrent implementation is intentionally minimal and focused on the client side only.

@arturobernalg arturobernalg requested a review from ok2c March 28, 2026 16:42
@arturobernalg arturobernalg force-pushed the jakarta-rest branch 4 times, most recently from 7f1df04 to 7d4b01a Compare March 28, 2026 18:28
@ok2c
Copy link
Copy Markdown
Member

ok2c commented Apr 4, 2026

@arturobernalg Was this change-set AI generated? I have an impression it was authored by someone who has no familiarity with our code base.

This is a start and a good proof of concept. Would you actually be willing to take your time and do it better?

@arturobernalg
Copy link
Copy Markdown
Member Author

Was this change-set AI generated? I have an impression it was authored by someone who has no familiarity with our code base.

This is a start and a good proof of concept. Would you actually be willing to take your time and do it better?

@ok2c Yes. I can rework it. If you have a specific direction in mind, please let me know

Provide a small proxy-based Jakarta REST client implementation backed by
the classic HttpClient API.
@arturobernalg
Copy link
Copy Markdown
Member Author

@ok2c

I reworked the patch to keep it small and direct, dropped the extra framework-like pieces, and aligned it more closely with the existing HttpClient style.
Is this closer to what you had in mind when you said it needed to be done better, or do you still see parts that feel off in terms of scope or design?

@ok2c
Copy link
Copy Markdown
Member

ok2c commented Apr 10, 2026

@arturobernalg

  1. Please use the async client because we want the REST client to support HTTP/2 as well. Please use it without resorting to content buffering in memory (do not use 'simple' message objects). 'Simple' APIs are not intended for production use, so we should not be using them internally. Use the new Jackson2 bindings from core.
  2. Please do not re-implement the percent codec. What stops you from using what we already have? Not good enough? Improve it.
  3. Please use URIBuilder to construct request URIs.

The whole thing still looks like it just got vibe-coded with some AI agent. There is no need to rush it. Take your time to do it right. I think this can be the most important contribution to the project since @rschmitt reactive module. So, please take your time

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.

3 participants