users@jersey.java.net

[Jersey] Re: Custom InjectionResolver and ?A HTTP GET method ? should not consume any entity?

From: Cameron Jones <cmhjones_at_gmail.com>
Date: Sat, 31 Aug 2013 12:32:40 +0100

You might want to have a look at this SO:

http://stackoverflow.com/questions/978061/http-get-with-request-body

Without trying your gist, i would expect that as HTTP defines GET body as
non-semantic (should not affect response) then Jersey is not parsing it
(unnecessary overhead). As stated within the SO, this is the conforming
HTTP definition, and while you are free to parse the body yourself, it has
no meaning within the wider HTTP ecosystem (so no tools\caching\support).
You will be making a purely independent system and forgoing the
interoperability expected with the protocol.

What exactly is your purpose for using a body with GET? You won't have
caching working, so where is the benefit over using POST?

Cam


On Fri, Aug 30, 2013 at 10:49 AM, <TheCuriousOne_at_centrum.cz> wrote:

> Hello guys, I run into a problem when I was trying to implement my own
> InjectionResolver for my custom annotation. I have asked about it [1] on SO
> already, but did not receive any answer yet. This is the code [2] that
> exhibits the problem. The issue is already described in detail in the SO
> post, but to summarize:
>
> 1. When I use the custom annotation in a resource method, I get: "WARNING:
> The following warnings have been detected: WARNING: A HTTP GET method,
> public java.lang.String
> com.example.MyResource.get02(java.lang.Integer,java.lang.String), should
> not consume any entity."
>
> 2. The resolver's "resolve" method is never executed.
>
> 3. The (annotated) parameter the resolver should bind to is null.
>
> I would be thankful for any and all input.
>
> Cheers.
>
> [1]:
> http://stackoverflow.com/questions/18488622/jersey-2-custom-injectionresolver-and-a-http-get-method-should-not-consu
> [2]: https://gist.github.com/anonymous/389e1e8064174bdcd102
>