users@jersey.java.net

Re: Why doesn't HttpRequestContext expose request attributes?

From: Joe Bradley <gjoelbradley_at_netscape.net>
Date: Thu, 05 Nov 2009 19:48:44 -0500

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 ...
    }
}

Joe
> Subject:
> Re: [Jersey] Why doesn't HttpRequestContext expose request attributes?
> From:
> Moises Lejter <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
> <mailto: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
> <mailto:users-unsubscribe_at_jersey.dev.java.net>
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
> <mailto:users-help_at_jersey.dev.java.net>
>
>