【发布时间】: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。
【问题讨论】:
-
Pavel Bucek 的回答:jersey.576304.n2.nabble.com/…