Sounds like that should be a separate module which links the current impl with the profile, profile and JAX-RS may evolve independently.

Wiring the API lib into 3.2.x can be sensitive, not sure having a mix of various API flavors will work well...

Sergey
On 04/12/17 01:16, John D. Ament wrote:
The problem I see has to do with how the ResponseExceptionMapper works.
JAX-RS doesn't define this provider, however the MP Rest Client does, and
CXF also has this type of provider.  The handling of this provider is in
two places, ClientProxyImpl and ClientProviderFactory.  We'd have to create
sublcasses of these to handle the MicroProfile specific cases.

FWIW, the API JAR is only 12kb.  I'm not sure it could be optional, since I
was planning to make the CXF interface extend the MP interface
(ResponseExceptionMapper).

John

On Sun, Dec 3, 2017 at 5:40 PM Andriy Redko <drr...@gmail.com> wrote:

Hey John,

That would be an interesting feature, useful even beyond just Microprofile
actually (imho) :)
Should we have a dedicated module for it instead of using the client one?
We would
have the dependency to Microprofile REST Client SPI/API there, may be it
is better
not to introduce it into the existing client module (even as an optional)?

Best Regards,
     Andriy Redko

JDA> Hey all

JDA> Andy (McCright) and I (as well as some others who don't contribute to
CXF)
JDA> have been working on another project, specifically around
standardizing how
JDA> Type Safe rest clients can be built within MIcroProfile.  There's two
main
JDA> aspects to this, as well as some changes potentially required for a
JDA> presently CXF specific provider.

JDA> - Programmatic builder API for creating the clients from a JAX-RS
annotated
JDA> interface
JDA> - CDI injection support for interfaces

JDA> I have most of an implementation for this working, and would like to
start
JDA> to bring it into the CXF codebase.  My thought is to bring most of it
JDA> directly into the client module, and update some of the core logic
there to
JDA> work with MicroProfile's APIs.  There are some functional differences
JDA> though.  One of the things we felt was important was mapping Response
codes
JDA> into Exceptions, something that CXF already had support for.  The
behavior
JDA> is a little different in that we will evaluate multiple mappers as
well as
JDA> handle any response code.

JDA> You can read more about the API and specification at
JDA> https://github.com/eclipse/microprofile-rest-client
JDA> You can also see the base impl I've started on at
JDA> https://github.com/johnament/cxfmprestclient


JDA> John





--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to