2017-01-03 65 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是更多涉及的解决方案。 –