2017-02-22 88 views
0

我想製作一個Web服務,您可以在其中查詢通用數據。所以,我的網址是這樣的:具有多個相同名稱參數的J​​AX-RS查詢

.../FIELD_NAME /國家/ FIELD_VALUE/US/FIELD_NAME /市/ FIELD_VALUE /波士頓

這將是與新澤西閱讀的方式 - 我想獲取一個字段名稱數組和一個相應的字段值數組。

+0

爲什麼不只是美國/波士頓?你爲什麼需要'field_name/Country/field_value'? –

+0

名稱是動態的,我不知道順序,我希望客戶端告訴我他們想要過濾的內容 –

回答

2

這似乎更適合查詢參數,而不是像上面那樣適用於URL參數。

您的網址,然後會看起來像:

@GET 
@Path("/query") 
public String queryValues(@QueryParam("Country") List<String> countries, 
          @QueryParam("City") List<String> cities) { 
    // Do work here 
} 

如果:

/query?Country=US&City=Boston&City=Chicago 

JAX-RS在您的端點將它們映射到一個集合,如下所示支持多個名稱相同的查詢參數查詢參數是完全動態的,你直到運行時才知道它們是什麼,那麼你可以注入UriInfo對象並自己查詢查詢字符串。

@GET 
@Path("/query") 
public String queryValues(@Context UriInfo uriInfo) { 
    // Do work here 
} 
+0

我從我解析的文件中獲取參數,因此它們在運行時可用,但不在編譯時提供。我想我會需要第二種方法並解析uriInfo –

+0

它是否也可以在@ParamParameters的'@ POST'查詢中起作用? – SomethingSomething

相關問題