在Resteasy中将复杂对象作为参数发送

时间:2013-08-21 08:36:15

标签: resteasy

我正在使用resteasy,直到现在我只是发送和接收字符串作为参数,一切都没问题,但现在我想发送一个复杂的对象(List<Map<String, ObjectVal>>)作为我的参数之一。我的objectVal类有两个简单的字段(id和value,带有getter和setter)。

我可以找到不同的问题和答案,将对象作为参数发送,但所有这些都缺少一些东西,对我没用。

这是我的函数,带有一个简单的字符串参数

  @GET
    @Path("/isUserAuthorizedToDocument")
        public Response isUserAuthorizedToDocumentService(
            @QueryParam("userID") String userID){
                  .............
                  .............
}

和客户

private ClientRequest req =new ClientRequest(....url with path and ....)
req.queryParameter("userID", user.getUserId());
ClientResponse<Boolean> response = req.get(Boolean.class);

现在我想以List<Map<String,ObjectVal>>的形式从我的客户端发送一个参数,并在我的休息函数中接收它。 我的ObjectVal类

@XmlRootElement(name = "objectValueDTO")
public class ObjectValueDTO implements Serializable {

    /**
     * Id for this class  
     */
    private static final long serialVersionUID = 164186789404269392L;


    // Id on object type
    private String objectTypeID = "";       
    // Selection
    private String value = "";


    /** Getter and Setters */
    @XmlElement
    public String getObjectTypeID() {
        return objectTypeID;
    }

    public void setObjectTypeID(String objectTypeID) {
        this.objectTypeID = objectTypeID;
    }

    @XmlElement
    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }



}

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我可能对此很不满意。但是当您必须发送复杂参数时,您需要使用PUT并在请求中发送参数。