jsr370-experts@jax-rs-spec.java.net

RE: JAX-WS like Provider in JAX-RS

From: Markus KARG <markus_at_headcrashing.eu>
Date: Sat, 17 Jan 2015 09:29:11 +0100

+1, where I'd like to suggest a split-up of the APIs between core-level
"Servlet NG" and "RESTful API" ontop.

-----Original Message-----
From: Bill Burke [mailto:bburke_at_redhat.com]
Sent: Freitag, 16. Januar 2015 23:29
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: Re: JAX-WS like Provider in JAX-RS

IMO, many of us continue to think of JAX-RS as Servlet.nextgen rather
than a REST framework. Spec leads should really decide the direction here.

On 1/16/2015 5:11 PM, Sergey Beryozkin wrote:
> Ha-Ha :-)
>
> The difference is JAX-RS has a richer context support. The JAX-RS
> filters would still be there.
> Something like @DefaultMethod, as Markus suggested, or something
> similar, can work in principle.
> I guess it is a weak case so far, I'll see how it goes in my current
> project, perhaps some more ideas may arise...
>
> Sergey
> On 16/01/15 19:30, Bill Burke wrote:
>> Isn't there some specification in Java EE that allows you to do this for
>> HTTP? I'm pretty sure Java EE has a non-annotated api for Java EE.
>> Anybody know what it is? ;)
>>
>> On 1/16/2015 11:10 AM, Sergey Beryozkin wrote:
>>> Hi All,
>>>
>>> Happy New Year,
>>>
>>> I've seen a number of times users asking how to have a dynamic JAX-RS
>>> service which would support various HTTP methods but without having to
>>> annotate. Something like JAX-WS Provider [1].
>>>
>>> How about introducing javax.ws.rs.ServiceProvider interface:
>>>
>>> interface ServiceProvider {
>>> Response invoke(InputStream is);
>>> }
>>>
>>> The implementation can inject a JAX-RS Request context and get an HTTP
>>> verb name. UriInfo context will provide all the info about the request
>>> URI including path and query parameters, HttpHeaders - about headers.
>>> The injected Providers interface will help to read the stream into some
>>> concrete object for Post/Put requests if needed.
>>>
>>> If a given object implements ServiceProvider then the JAX-RS
>>> implementation will accept it as a service bean. @Path is defaulted to
>>> "" if no @Path is available.
>>>
>>> I think it can be introduced into a spec (API, text) fairly easy but I'm
>>> not expecting this proposal accepted easily too.
>>>
>>> Any comments ?
>>>
>>> Sergey
>>>
>>>
>>>
>>> [1] http://docs.oracle.com/javase/7/docs/api/javax/xml/ws/Provider.html
>>
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com