如果您正在寻找/Resource/Id
并且该资源不存在,我总是认为404是适当的响应。但是,当从Jersey处理程序返回null
时,我得到了“204 No Content”。我可以与任何一个人合作,但我对其他人的想法感到好奇。
回答我自己的下一个问题。要让泽西岛返回404,你必须抛出异常。
if (a == null)
throw new WebApplicationException(404);
答案 0 :(得分:50)
HTTP Code Definition表示以2开头的代码用于成功调用,4用于不成功调用。
当你得到204它只是告诉你没有什么可以返回(通常你期望你做一个不需要返回任何东西的POST或PUT调用)
当你收到404时,它表示通话失败,所以它不会返回任何内容。
在你的情况下,404是合适的,而不是204!因为你可能想告诉来电者他打错了电话。