2012-03-14 30 views
1

我正在使用JAX-RS嘗試處理包含我不熟悉的格式的數組的查詢。查詢參數以下列格式顯示:使用JAX-RS處理包含數組參數的查詢

?to[0]=100002700373730&to[1]=744826619&to[2]=501266190 

數組參數的數量是可變的。據我所知,這不是傳遞數組的正常格式。但是,由於我無法控制查詢格式,我必須按原樣處理它。

我希望有某種形式的JAX-RS註釋可以處理這種格式的數組,但似乎並非如此。目前我只是從UriInfo獲取查詢參數並手動構建一個String數組進行處理。這個解決方案有效,但似乎有點破解。如果有一個更好的(或更正確的)方法來做到這一點,那麼我一定會明白如何去做。謝謝! :)

回答

0

這看起來確實不像標準格式,所以MultivaluedMap聽起來像是最好的方法(儘管您可以直接將它作爲方法參數而不通過UriInfo API)。

+0

我目前從UriInfo調用getQueryParameters()。你建議什麼方法論?使用「@Context UriInfo uriInfo」與使用我當前擁有的私有UriInfo成員var具有相同的結果。謝謝! – TimH 2012-03-15 21:46:57

+0

我的意思是你可以直接在你的jax-rs方法的w/o註釋中綁定一個MultivaluedMap,例如@POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED)public void doPost(MultivaluedMap formMap) – TheArchitect 2012-03-16 03:45:57