如果您正在寻找 /Resource/Id
并且该资源不存在,我一直认为 404 是合适的响应。但是,当从 Jersey 处理程序返回 null
时,我得到“204 No Content”。我可能可以与其中任何一个合作,但很好奇其他人对此的想法。
回答我自己的下一个问题。要让 Jersey 返回 404,您必须抛出异常。
if (a == null)
throw new WebApplicationException(404);
最佳答案
HTTP Code Definition说明以2开头的代码表示调用成功,以4开头的代码表示调用不成功。
当您收到 204 时,它只是显示没有任何内容可返回(通常您希望进行不需要返回任何内容的 POST 或 PUT 调用)
当您收到 404 时,它表明调用不成功,因此不会返回任何内容。
根据您的情况,404 是合适的,而不是 204!因为您可能想告诉调用者他打错了电话。
关于未找到 RESTful 资源。 404还是204?当处理程序返回 null 时,Jersey 返回 204,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2195639/