tags:

views:

52

answers:

2

If you are looking for /Resource/Id and that resource does not exist, I had always though that 404 was the appropriate response. However, when returning "null" from a Jersey handler, I get back a "204 No Content". I can likely work with either one, but am curious to others thoughts on this.

To answer my own next question. To get jersey to return 404 you must throw an exception.

    if (a == null)
        throw new WebApplicationException(404);
+5  A: 

The Http Code Definition states that the codes beginning with 2 are for successful calls and 4 for unsuccessful ones.

  • When u get the 204 it just shows you that there is nothing to return (usually you expect if you make a POST or PUT call that does not need to return anything)

  • When u get a 404 it states that the call was unsuccessful, so it will not return anything.

In your situation the 404 is appropriate, not the 204! Since you probably want to say to the caller that he made a wrong call.

Diego Dias
@Diego: Thanks for your reply. I'm going to go with 404 I think. Makes more sense.
jr
A: 

I am getting 204 on successful login when I try to set a session cookie at server side. So the 204 doesn't mean I've made some mistake?

Pankhuri