如何返回一个简单的字符串,如下所示,基本上,我想在浏览器中显示一个错误的简单文本。
我要在这里和这里处理我的错误:
@ExceptionHandler(Exception.class)
public ModelAndView handleAllException(Exception e) {
}
问题是我必须返回ModelAndView。如何将简单的文本返回到浏览器,不想使用任何JSP等。
只需返回以下或类似方式即可:
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());
例如,这不起作用:
return new ModelAndView((View) ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage()));
从@ExceptionHandler
文档中:
使用此注释注释的处理程序方法具有非常灵活的签名。它们可能具有以下类型的参数,可以按任意顺序排列:[...] OutputStream / Writer,用于生成响应的内容。这将是Servlet API公开的原始OutputStream / Writer。[...]
因此,您可以定义一个类似于以下内容的异常处理方法:
@ExceptionHandler(Exception.class)
public void handleAllException(Exception e, Writer responseWriter) {
responseWriter.write(e.getMessage());
}
您显然可以做一些更复杂的事情来格式化错误消息,但这是基本思想。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句