2017-01-03 110 views
0

我有一個實體即庫存表(屬性項目,數量,體重,有效期.. ecc)... 如何能做一個動態查詢我的休息春後端?對於即用戶可以做一個查詢沒有過濾器,但也可以做一個查詢與多個過濾器爲我,數量> 0和項目= X和過期數據>昨天...所以我必須開發解析接受不固定參數數量。我的第二個問題是,我的休息API必須接受=作爲運營商,但也< >> = < =!=做濾波器查詢。 謝謝春季休息多過濾器

+1

支持有關使用Spring Data的QueryDsl支持將是一個可能的第一部分。看例如:http://stackoverflow.com/questions/41148216/spring-jpa-custom-query-with-combination-of-parameters-in-where-condition/41151516#41151516但是,如果用戶也可以指定運營商那麼我覺得以自定義的方式處理這些是唯一的選擇。 –

+0

嗨艾倫,感謝dsl我能夠做靈活的查詢。我也能夠從桌面連接嗎?我如何能夠理解什麼過濾器在休息中使用請求用戶並解析它以便執行正確的dsl查詢? – esoni

回答

0

我不確定spring是否提供這樣的功能。您必須在地圖中爲您的過濾器提供條件,構建表達式解析器,然後在運行時構建查詢。

我想說一個更好的解決方案是看看graphql。

http://graphql.org/

Spring對GraphQL https://github.com/oembedler/graphql-spring-boot

+0

條件構建可以是一個正確的解決方案? http://www.baeldung.com/rest-search-language-spring-jpa-criteria – esoni

+0

@dariofrongi是的,如果你想要一個簡單的解決方案,然後堅持這種方法。 GraphQL是更多涉及的解決方案。 –