我的服务类中有以下REST资源:
@POST
@Path("/{personId}/email")
public Response changeEmail(
@BeanParam ChangeEmailCmd command
) {
return runCommand(command);
}
我喜欢将请求主体反序列化到ChangeEmailCmd实例中,同时将一些额外的参数(例如上例中的personId path参数)注入到同一个实例中。
这有可能吗?上面的例子不起作用。使用@BeanParam注释'command'参数时,会根据需要注入额外的参数,但不再反序列化主体。
是否有可能将方法参数标记或注释为“实体”? 我试过各种各样的注释和其他黑客但到目前为止没有运气。
RESTeasy 3.0.8,Jackson 2.3.2和Weld 2.1.2
修改(添加了ChangeEmailCmd定义):
public class ChangeEmailCmd {
public String newEmail;
@PathParam("personId")
public UUID personId;
}