【发布时间】:2018-10-17 07:14:46
【问题描述】:
我想连同响应对象一起返回 http 状态码。如果我只是在失败场景中返回响应对象,则状态将返回为 200。但我想将服务返回的状态(例如:403)与响应对象一起发送。但是下面的代码只是返回消息以及状态。在这种情况下,我想要响应对象 orderdetails 对象,它具有失败原因和其他字段。任何帮助如何将对象传递回客户端?
@Component
public class OrderController {
@Autowired
private OrderService service;
public OrderDetails createOrder(final OrderDetails orderVO) {
try {
OrderDetails orderVO = service.createOrder() // service call
} catch(OrderException e) {
OrderDetails orderVO = e.getOrderDetails(); // even in exception cases backend liberary sends same object with error messages
ServiceException exception = new ServiceException(e.getStatus(), e.getMessage());
exception.setOrderDetails(orderVO);
throw exception;
}
return orderVO;
}
}
【问题讨论】:
-
要提供有关 JB Nizet 链接的更多详细信息,请查找 ResponseEntity 或异常处理方法(例如 ExceptionHandler 注释)
标签: java spring rest exception-handling