【问题标题】:Intercept 400 response generation when Jersey detects bad xml?当泽西岛检测到错误的 xml 时拦截 400 响应生成?
【发布时间】:2012-09-01 00:39:04
【问题描述】:

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

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

  @Path("GetUserDetails")
  @POST
  @Consumes(MediaType.APPLICATION_XML)
  public GetUserDetailsResp GetUserDetails(GetUserDetailsReq request) {
    ...
  }

当 XML 格式错误(GetUserDetailsReq 是一个 JAXB 对象)时,Jersey 很高兴地返回 400,这不是我需要的。相反,我需要返回 200 和一个 XML 错误块。

我可以通过在方法中解组并使用 @Provider/ExceptionMapper 类来绕过 400,但这很笨重。无论如何要向泽西岛指定以声明方式返回 400 的替代方法?也许是@Provider/ExceptionMapper 的变体?

TIA。

【问题讨论】:

标签: jersey jax-rs


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
  • 1970-01-01
相关资源
最近更新 更多