On Thu, Nov 5, 2009 at 4:48 PM, Joe Bradley <gjoelbradley_at_netscape.net>wrote:
> Moises,
>
> But that would require us to manually extract the request attribute in the
> resource method per below. We will need this attribute in every resource
> method in our app, so I'm trying to save from having to do that repetively.
>
> @Path("/foo")
> public class MyResource {
>
> @Context
> HttpServletRequest request;
>
> @GET
> @Path("/bar")
> public Bar getBar() {
>
> MyCustomType custom = request.getAttribute("MyCustomAttribute");
>
> return ...
> }
> }
>
> What we really want is:
>
> @Path("/foo")
> public class MyResource {
>
> @Context
> MyCustomType custom;
>
> @GET
> @Path("/bar")
> public Bar getBar() {
>
> // Use custom here...
>
> return ...
> }
> }
>
> One way to do this would be to use constructor injection instead of field
injection, and pull it apart yourself:
@Path("/foo")
public class MyResource {
public MyResource(@Context HttpServletRequest request) {
this.attribute = request.getAttribute("MyCustomAttribute");
}
private String attribute;
...
}
If you needed something like this across multiple resource classes, you
could also embed this in the constructor of an abstract base class.
Craig
> Joe
>
> Subject:
> Re: [Jersey] Why doesn't HttpRequestContext expose request attributes?
> From:
> Moises Lejter <moilejter_at_gmail.com> <moilejter_at_gmail.com>
> Date:
> Thu, 5 Nov 2009 11:59:09 -0600
> To:
> users_at_jersey.dev.java.net
> To:
> users_at_jersey.dev.java.net
>
> Hi!
>
> I thought that HttpServletRequest was injectable via @Context ? That would
> give you access to the request parameters ...
>
> Moises
>
> On Thu, Nov 5, 2009 at 11:04 AM, Joe Bradley <joe.bradley_at_sun.com> wrote:
>
>> I want to inject a custom object type into resource classes using
>> @Context. The custom object would be instantiated in an servlet filter
>> upstream of Jersey and placed in a request attribute.
>>
>> I've seen an example of writing a Provider to extract the Locale from the
>> HttpRequestContext and was trying to do something similar to extract our
>> custom object. However since HttpRequestContext doesn't expose the request
>> attributes I don't see a way to make this work.
>>
>> Are there any alternative approaches?
>>
>> Joe
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>
>>
>
>