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

[jsr339-experts] Re: [jax-rs-spec users] Re: Intercepting after MBR reads the stream but before invoking ?

From: Santiago Pericas-Geertsen <Santiago.PericasGeertsen_at_oracle.com>
Date: Thu, 10 Oct 2013 09:12:38 -0400

On Oct 9, 2013, at 4:48 PM, Sergey Beryozkin <sberyozkin_at_talend.com> wrote:

> Hi
> On 09/10/13 17:19, Santiago Pericas-Geertsen wrote:
>>
>> On Oct 8, 2013, at 7:46 AM, Sergey Beryozkin <sberyozkin_at_talend.com> wrote:
>>
>>> Hi
>>>
>>> Now and then we get the queries on how to get access not only to the target class/method (ResourceInfo helps there) but to the parameter instances, before the application code gets invoked, example for the monitoring purposes.
>>> ResourceInfo + UriInfo + accessing InputStream if any from the filters can offer the way to access all of the values representing individual target method parameters, but I wonder if we can offer something simpler/cooler,
>>>
>>> Any ideas ? what about introducing one extra stage, in addition to Pre and Post matching, PreInvoking where we'd have a provider like ResourceInfoFilter with the signature like this:
>>>
>>> ResourceInfo getResourceInfo();
>>>
>>> ResourceInfo will have a new method added too:
>>>
>>> List<Object> getMehodParameterValues();
>>>
>>> this will throw ISE unless invoked from ResourceInfoFilter ?
>>
>> If CDI is available, wouldn't a CDI interceptor work for this purpose?
>>
> I guess yes, Spring AOP will do too. Do you reckon it is completely out of JAX-RS scope, it seems we nearly have it, but may be you are right.

 Some people have already questioned the need for Entity Interceptors in JAX-RS, arguing that it is a cross-cutting concern better handled by other specs like CDI. This one seems like an even tougher sell IMO.

-- Santiago