0

我有一个函数,它既是 HTTP 端点,又是我在 Java 程序的其他地方调用的函数:

@RequestMapping(method = RequestMethod.GET)
public @ResponseBody MyObject getObject(final HttpServletRequest request, final HttpServletResponse response)

问题在于错误处理。我想要的错误功能:

  • 从 Java 内部调用的函数:抛出异常
  • 从 HTTP 调用的函数:返回错误 json 对象

试图找出最好的方法来做到这一点。想过只返回一个 Java.lang.Object,但这需要大量的转换和类型检查。

4

1 回答 1

1

从 Web 调用时添加 Spring 异常处理程序,然后让处理程序返回您的 JSON。

更好的方法可能是将功能重构为服务方法,然后您可以让 HTTP 调用以自己的方式处理异常,而内部调用可以根据需要处理它。

编辑

第二种方法也更容易测试。

于 2012-12-04T14:33:45.357 回答