2016-09-22 55 views
1

我需要能夠查詢的資源與許多參數(所有自選)過濾器複雜的對象作爲queryparameter在java的支架應用

我的URL規範是這樣的:

GET http://something/version/resource?f={"param1":"1","param2":"something else", "param3":"tomato" 

我嘗試兩種方法:

  1. @XmlRootElement所以我創建了一個類過濾器,並與@XmlRootElement註解,但該參數不解析爲我的課。
@XmlRootElement  
MyClassFilter{ 
    String param1; 
    String param2; 
    .......... 

} 
  • @BeanParam所以我除去@XmlRootElement註釋和我把@QueryParam註釋每個字段中的類和在資源方法我把@BeanParam之一。
  • MyClassFilter{ 
        @QueryParam("param1") 
        String param1; 
        @QueryParam("param2") 
        String param2; 
        .......... 
    
    } 
    

    我得到null對象有兩種方法。有人能指出我正確的方向嗎?我通常會使用這些服務,所以我在服務器端沒有太多經驗。

    回答

    1

    我解決我的問題,在我的GET方法,我收到了過濾器的字符串:

    @QueryParam(value = "f") String f 
    

    ,我又把它使用ObjectMapper解析:

    ObjectMapper mapper = new ObjectMapper(); 
    EntityFilter filter = mapper.readValue(f, EntityFilter.class);