簡體   English   中英

過濾RESTful Web服務中的資源集合

[英]Filtering Collections of Resources in RESTful Web Services

我在使用Spring MVC和Hibernate的應用程序上工作。 我正在實現一些RESTful Web服務,並且很好奇如何輕松過濾集合服務器端。

例如,我希望能夠過濾員工實體的集合。 我研究了幾種選擇,例如RQLGoogle處理自定義搜索的方式, Ebay的答案,甚至是Yahoo的YQL 它們似乎都是過濾問題的好答案,但是我似乎找不到任何可以輕松實現此概念的庫。

我在這里確實發現:

從2.3.0版本開始,Apache CXF的JAX-RS實現引入了FIQL支持。

但是我們已經在使用Spring MVC。

令我驚訝的是,沒有一個庫可以接受下面的粗體查詢字符串,例如將其翻譯成SQL或Hibernate可以用來過濾的內容。

/雇員? lastname = john OR jon&hiredate lt 20010201

我完全有可能錯誤地想到了這一點,但是我想利用社區的經驗和知識。 我想念什么?

我知道這很舊,但是為了完整起見,至少有兩個庫可以解析RQL:

我自己在使用jazdw / rql-parser並開始使用SQL映射器,但是正如Oleksi所提到的,驗證,字段映射等需要大量自定義代碼,因此我不知道該如何通用。 。

將這樣的GET直接轉換為SQL的庫可能非常不安全。 您需要具有一個中間層來進行一些驗證,以確保用戶不會亂用URL來執行SQL注入。

據我所知,最好的辦法是使用JAX-RS實現干凈地讀取那些查詢參數,對其進行驗證,並使用諸如准備好的SQL語句之類的方法安全地執行它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM