Java 如何将服务器500更改为404作为响应

Java 如何将服务器500更改为404作为响应,java,api,rest,http,Java,Api,Rest,Http,我有一个返回对象的服务。当对象为空时,它返回500个内部服务器错误代码。如何将其更改为404找不到对象。我有一个响应对象,它是一个类对象,具有某些属性。任何帮助此时我们所能做的就是猜测问题。然而 try{ //some code } catch(Exception ex) { response.setStatus(HttpServletResponse.SC_NOT_FOUND);// 404 request.getRequestDispatcher("/404.htm"

我有一个返回对象的服务。当对象为空时,它返回500个内部服务器错误代码。如何将其更改为404找不到对象。我有一个响应对象,它是一个类对象,具有某些属性。任何帮助

此时我们所能做的就是猜测问题。然而

try{
    //some code
} catch(Exception ex) {
    response.setStatus(HttpServletResponse.SC_NOT_FOUND);// 404
    request.getRequestDispatcher("/404.htm").forward(request, response);
}
当对象为空时,它返回500个内部服务器

使它听起来像您正在得到一个空指针异常。你可以:

  • 检查返回的对象是否为null,以及是否为返回404
  • try/catch
  • 将NPE更改为404的自定义错误处理程序(不要这样做,这是一个可怕的想法)
  • 更改数据层以引发“未找到”异常,并为此添加自定义错误处理程序

如果没有任何进一步的信息、代码片段等,很难帮助您解决问题提供代码片段..无能为力