1

我有一个漂亮的 java 类(一个包含在组件内的 java 类),它调用一个 api 并检查响应是否为空。如果它为空,我必须调用错误组件。当我将响应状态设置为 404 时,它不起作用,因为在执行该行之前,它会将响应视为 200。在这种情况下如何调用错误组件。注意:我尝试将 URL 重定向到 error.html,但这不是正确的解决方案。

4

1 回答 1

0

从组件/视图重定向或更改响应状态通常是不好的做法,因为响应可能已经包含一些已提交的内容。

您可能希望将您的应用程序重新设计为:

  1. 在请求处理开始时调用远程 API,如果远程 API 返回 null,则在将其他任何内容提交到响应之前返回 404。
  2. 通过以下任一方式处理来自远程 API 的空响应:
    • 呈现适当的响应,以防在某些情况下预期/允许空响应。
    • 抛出异常,这将导致状态 500,以防不希望出现空响应。
于 2017-05-11T06:44:11.583 回答