Java 使用具有HandlerInterceptorAdapter的现有对象创建新对象

Java 使用具有HandlerInterceptorAdapter的现有对象创建新对象,java,json,spring,Java,Json,Spring,我想记录我所有的异常。我原以为将Logger.error添加到每个方法中可以解决我的问题,但幸运的是,我发现了HandlerInterceptorAdapter并节省了时间 现在我不想返回常规对象,而是返回包含其他对象和异常的对象。原因是,通过这种方式,我不会获取HTTP状态500,而是获取一个包含异常的对象 基本上: 如果我的服务正常返回-返回包含返回对象的对象。 如果我的服务返回异常-返回一个对象,该对象包含异常的子对象,以及导致问题的异常 我希望使用HandlerInterceptorAd

我想记录我所有的异常。我原以为将Logger.error添加到每个方法中可以解决我的问题,但幸运的是,我发现了HandlerInterceptorAdapter并节省了时间

现在我不想返回常规对象,而是返回包含其他对象和异常的对象。原因是,通过这种方式,我不会获取HTTP状态500,而是获取一个包含异常的对象

基本上: 如果我的服务正常返回-返回包含返回对象的对象。 如果我的服务返回异常-返回一个对象,该对象包含异常的子对象,以及导致问题的异常

我希望使用HandlerInterceptorAdapter会很容易,但我错了

在正规服务中— 如果我看一下postHandle:modelAndView是空的

在postHandle和afterCompletion中使用response.getWriter.writes

response.getHeaderNames仅包含[内容类型、传输编码、日期]

我不知道如何处理response.getOutputStream

使用request/handler也可以让我找到no-where


我能做什么

您使用了错误的工具。。。对于处理异常,spring有HandlerExceptionResolver。我的异常处理得很好。我需要解析返回的值。
SEVERE: Servlet.service() for servlet [appServlet] threw exception 
java.lang.IllegalStateException: getOutputStream() has already been called for this response