0
我正在为我的RESTful服务使用Jersey框架。Jersey,在返回资源前返回浏览器响应
我的每一个资源类都继承了一个基类,我在我的基类中有很少的URL参数验证,所以如果我发现URL中缺少一个必填字段,我想停止我的基础流类(即不想去,并打我的资源方法,并返回从我的基类浏览器的响应)。
目前我无法做到这一点,即使我尝试像例如做下面的事情回到浏览器与缺少参数消息,它不会并仍然去,并击中资源类Web服务方法是被称为:
return Response.status(Response.Status.BAD_REQUEST)
.entity("Parameter value missing for "+ StringHelper.ArrayToString(requiredParametersValueMissing))
.build();
任何想法或类似的情况正在面临你们。输入赞赏。
嗨克里斯,谢谢你的答案是在正确的方向,我试着抛出异常,但在浏览器上显示如: 错误创建名为'customersWebService'的bean:调用init方法失败;嵌套异常是javax.ws.rs.WebApplicationException 它不显示我们的自定义消息,即参数丢失或我们自己的错误代码,是的,我正在尝试做你做什么扩展ServletContainer,我也剥离了请求我的基类,如果你可以分享你的ServletContainer方法的代码将是伟大的。 –
我有兴趣了解如何扩展该类并将其添加到框架,以便webrequests通过它们。 但我想我尝试了过滤器的方法,我的问题是,我使用自定义注释来标记我的资源类中所需的资源类参数,这些注释在过滤器或servlet容器扩展类中不会提供给我。 –
您需要在web.xml中指定您的ServletContainer,如下所示: com.tcore.tfs.adapters.rest.RestAdapterServletContainer servlet-class> –
ChrisO