我正在公开一个 REST 服务,在该服务中我试图根据错误类型返回不同的 HTTP 状态代码。
不幸的是,我设法发送的唯一错误状态是 500。
我尝试了以下方法,但似乎不起作用。
throw new RestException(e.getMessage(), ServletUtil.getCurrentResponse().getResponse(), 404);
有任何想法吗?
先感谢您。
我正在公开一个 REST 服务,在该服务中我试图根据错误类型返回不同的 HTTP 状态代码。
不幸的是,我设法发送的唯一错误状态是 500。
我尝试了以下方法,但似乎不起作用。
throw new RestException(e.getMessage(), ServletUtil.getCurrentResponse().getResponse(), 404);
有任何想法吗?
先感谢您。
对于 ATG 11.3,您有不同类型的 RESTful Web 服务:
如果您使用的是 JAX-RS Web 服务,请按照此处的说明进行操作
此外,API 文档还说明了以下内容:
请注意,所有 RestExceptions 都要求提供 servlet 响应状态代码,以便适当地设置响应对象的状态。错误代码必须是来自 HttpServletResponse 对象的 http 状态代码
另请注意,有两个 RestException 类,一个是atg.rest.RestException
,另一个是atg.service.jaxrs.RestException
,因此请确保您已导入正确的类。
如果您使用的是 REST MVC(我猜您是),请按照此处的说明进行操作。