thanks a lot for your advises.
I would have a look at Guice.
Post by Igor SkornyakovThat's correct. Actually any AOP frameworks will work. In fact I
think that this is the most natural approach as the problem looks
like a textbook example of cross-cutting concern.
Regards,
Igor.
I just saw Igor's method which looks like it may work, but
requires Guice. My suggestion does not require any external
frameworks.
If you are familiar with Guice his suggestion may be the path you
would want to take.
John
____________________________
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:34 AM, Igor Skornyakov
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
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
Post by John YearyThat 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
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