是否可以使用RESTEasy这样的JAX-RS实现来自动构造仅包含@*Param
批注(例如@MatrixParam
)的对象?我有以下课程代表分页:
public class Pagination {
@MatrixParam("after") public String afterKey;
@MatrixParam("from") public String fromKey;
@MatrixParam("to") public String toKey;
@MatrixParam("before") public String beforeKey;
@MatrixParam("count") public int count;
}
我想将其传递给这样的JAX-RS方法:
@GET
@Produces("text/html")
Response asHtml(Pagination pagination);
我希望RESTEasy会调用默认构造函数,然后注入字段值,但是出现“找不到消息正文阅读器”错误。显然,没有消息正文,并且添加虚拟
String
构造函数没有帮助。我需要为此创建自己的@Provider
吗?如果是这样,是否可以使这种事情变得通用并利用内置的@*Param
注入功能? 最佳答案
我知道这有点老了,但是JAX-RS 2.0具有@BeanParam注释可以做到这一点。
@GET
@Produces("text/html")
Response asHtml(@BeanParam Pagination pagination);