users@jersey.java.net

[Jersey] Re: How to reject all POST/PUT/DELETE requests

From: Igor Skornyakov <igor.skornyakov_at_gmail.com>
Date: Thu, 26 Jan 2012 18:34:52 +0400

As I wrote before there is such method. Define Guice module like that

class ReadOnlyModule extends AbstractModule {
    @Override
    protected void configure() {
        MethodInterceptor blocker = new ChangeBlocker();
        bindInterceptor(Matchers.any(), Matchers.annotatedWith(POST.class),
blocker);
        bindInterceptor(Matchers.any(), Matchers.annotatedWith(PUT.class),
blocker);
        bindInterceptor(Matchers.any(),
Matchers.annotatedWith(DELETE.class), blocker);
    }

}

Here ChangeBlocker just throws an appropriate Exception. That's it. You can
install ot not install this module based on configuration.

On Thu, Jan 26, 2012 at 6:27 PM, Pengfei Di <pengfei.di_at_match2blue.com>wrote:

> **
> Hi John,
>
> Thanks for the reply.
> Yes, your method might be the straightest way. However, this means that I
> have to code it hardly on many places. If I want to again allow these
> requests, I have to recoded all these places back.
> Hmm, I hope there would be a simpler way.
>
> Pengfei
>
>
> On 01/26/2012 03:09 PM, John Yeary wrote:
>
> That is very easy. Simply configure your methods with @GET and @Produces
> annotations. Any method like PUT, DELETE, or POST will automatically return
> a 405 - Method Not Allowed response.
> ____________________________
>
> John Yeary
> ____________________________
>
> <http://javaevangelist.blogspot.com/> <https://twitter.com/jyeary> <http://www.youtube.com/johnyeary>
> <http://www.linkedin.com/in/jyeary> <https://plus.google.com/112146428878473069965>
> <http://www.facebook.com/jyeary> <http://feeds.feedburner.com/JavaEvangelistJohnYearysBlog>
> <http://netbeans.org/people/84414-jyeary>
> ____________________________
>
> "Far better it is to dare mighty things, to win glorious triumphs, even
> though checkered by failure, than to take rank with those poor spirits who
> neither enjoy much nor suffer much, because they live in the gray twilight
> that knows not victory nor defeat."
> -- Theodore Roosevelt
>
>
>
> On Thu, Jan 26, 2012 at 9:02 AM, Pengfei Di <pengfei.di_at_match2blue.com>wrote:
>
>> Hello,
>>
>> Is there any way to configure jersey to a read-only mode? That means only
>> GET requests are allowed, and all POST/PUT/DELETE requests will be rejected.
>> Thanks for any hints.
>>
>> Pengfei
>>
>>
>
>
>