当Jersey检测到错误的xml时拦截400响应生成?

时间:2012-01-24 19:55:17

标签: jersey jax-rs

我正在编写一个需要模拟第三方RESTful服务器的测试服务器,我正在使用Jersey来编写测试服务器。

所有请求都是带有application / xml有效负载的POST,所以我开始使用:

  @Path("GetUserDetails")
  @POST
  @Consumes(MediaType.APPLICATION_XML)
  public GetUserDetailsResp GetUserDetails(GetUserDetailsReq request) {
    ...
  }
当XML格式错误(GetUserDetailsReq是一个JAXB对象)时,泽西很高兴地返回400,这不是我需要的。相反,我需要返回200和XML错误块。

我可以通过在方法中解组并使用@ Provider / ExceptionMapper类来解决400,但这很笨拙。反正有没有指定泽西岛以声明方式返回400的替代方案?也许@ Provider / ExceptionMapper的变种?

TIA。

1 个答案:

答案 0 :(得分:0)