gpt4 book ai didi

Spring 3、ReST、@ResponseBody 和 @ExceptionHandler

转载 作者:行者123 更新时间:2023-12-02 00:08:06 25 4
gpt4 key购买 nike

我一直在尝试在基于 Spring 3 的简单 ReST Web 服务中进行异常处理。根据我所看到的一切,有一个错误阻止它与 @ResponseBody 和 @ExceptionHandler 注释一起自动工作

https://jira.springsource.org/browse/SPR-6902

鉴于 Spring 3.1 或 3.0.6 才支持它,当前进行异常处理的最佳方法是什么?我看过很多帖子,但没有找到对我有用的明确答案。理想的解决方案是自动提供对 xml 和 json 的支持

  • 我是否必须手动定义整个编码设置?这是否会消除对注释的需要,从而使使用 Spring 3 Rest 支持变得值得?
  • 似乎为了手动定义编码(即 Jaxb2Marshaller),我需要添加对 spring-ws 的新依赖项,这有点痛苦
  • 仅定义一个“Response”对象(我的所有方法都返回该对象并将所有函数包装在 try/catch block 中)是否更容易?

最佳答案

您可以在出现错误时重定向,然后在 @ResponseBody 中返回某些内容:

@ExceptionHandler(Exception.class)
public ModelAndView handleMyException(Exception exception) {
return new ModelAndView("redirect:errorMessage?error="+exception.getMessage());
}

@RequestMapping(value="/errorMessage", method=RequestMethod.GET)
@Responsebody
public String handleMyExceptionOnRedirect(@RequestParameter("error") String error) {
return error;
}

有点难看,但这只是解决方法,直到修复可用。

关于Spring 3、ReST、@ResponseBody 和 @ExceptionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com