3
我目前正在使用Resteasy 2.3.6.Final并且想升级到Resteasy 3.0.4.Final。但是,API doc表示该类现在已被弃用。所以我的问题是:Resteasy 3及更高版本中ClientResponse的替代方案是什么?
- ClientResponse被弃用的原因是什么?这是否与在Resteasy 3+中引入JAX-RS 2.0这一事实有关?
- 现在Resteasy资源的建议返回类型是什么?我读了user doc,在第47.2节中有一些例子。它建议使用javax.ws.rs.core.Response,如果你想让所有东西都回来,但是这会删除泛型参数。我如何保留通用参数?
感谢您的帮助。
编辑1
这里是我谈论的例子。
我目前像这样的代码:
@GET
@Path("matrixParam")
@Produces("application/json")
ClientResponse<Matrix> getMatrix(@MatrixParam("param")String param);
ClientResponse发生在一个泛型参数。如果我使用响应代替,那么它将变成:
@GET
@Path("matrixParam")
@Produces("application/json")
Response getMatrix(@MatrixParam("param")String param);
并且泛型参数被删除。这会很不方便,因为调用者需要知道返回的对象是什么类型。
编辑2
的answer from Pascal和书Restful Java with JAX-RS 2.0
既说泛型参数不再需要,因为接口方法可以直接返回所需的类型。感谢帕斯卡回答。
如果响应有时是空的,该怎么办?例如204我没有得到回应实体......但我很难检查例如如果我直接返回实体的响应状态。 –