ATG REST API - 如何发送不同的HTTP状态代码而不是500

时间:2018-05-15 17:39:20

标签: rest atg oracle-commerce

我正在公开一个REST服务,我正在尝试根据错误类型返回不同的HTTP状态代码。

不幸的是,我设法发送的唯一错误状态是500。

我尝试了以下但是似乎没有用。

throw new RestException(e.getMessage(), ServletUtil.getCurrentResponse().getResponse(), 404);

有什么想法吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

对于ATG 11.3,您有不同类型的RESTful Web服务:

JAX-RS

如果您使用的是JAX-RS网络服务,请按照here

说明进行操作

此外,API Documentation声明如下:

  

请注意,所有RestExceptions都要求提供servlet响应状态代码,以便在响应对象上正确设置状态。错误代码必须是来自HttpServletResponse对象的http状态代码

另请注意,有两个RestException类,一个是atg.rest.RestException,另一个是atg.service.jaxrs.RestException  所以要确保你输入了正确的。

REST MVC

如果您正在使用REST MVC(我猜你的是),请按照here的说明进行操作。