【发布时间】:2017-12-22 20:12:49
【问题描述】:
我有不同的服务和网络项目。我想知道当特定异常来自服务时如何处理。例如,我在服务端处理 DuplicateDataException 如下:
public void serviceFunction()
{
try
{
//code
}catch(DuplicateDataException e)
{
return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
.entity(e.getMessage()).build();
}}
UI端:控制器类通过Rest API调用服务函数
@RequestMapping(value = "/addNew", method = RequestMethod.POST)
public ModelAndView addNew(Object obj) {
try {
restTemplate.exchange(url, HttpMethod.POST, httpEntity,
Object.class);
LOGGER.info("Object Created Successfully");
} catch (Exception e) {
return ModelAndView("PageName", "param","value");
}
}
在 UI 端,我收到内部服务器错误,相反,我想获得在服务端设置的实体错误消息值。
【问题讨论】:
-
您为什么要发送 5xx 类消息,因为它更可能是 4xx 类错误?
-
我也尝试过 BAD_REQUEST 但它会进入相同的 catch 块,用于 return ModelAndView("PageName", "param","value");我需要“价值”作为服务端返回响应实体中设置的消息。
标签: java rest spring-mvc