2017-01-03 2 views
0

У меня есть сущность для таблицы акций (атрибута, количества, веса, срока годности .. ecc) ... Как можно сделать динамический запрос на моем резервном источнике отдыха? То есть пользователь может делать запрос без фильтра, но также может выполнять запрос с несколькими фильтрами для i, e количество> 0 и item = x и данные об истечении срока действия> вчера ... поэтому мне нужно разработать синтаксический анализ, чтобы принять не фиксированный количество параметров. Мой второй вопрос заключается в том, что мой rest api должен принимать = как оператор, но также <>> = < =! = Делать запрос фильтра. СпасибоВесенний остаток несколько фильтров

+1

Для первой части, используя поддержку QueryDsl Spring Дейты бы возможность. См. Например: http://stackoverflow.com/questions/41148216/spring-jpa-custom-query-with-combination-of-parameters-in-where-condition/41151516#41151516 Однако, если пользователь может также указать операторов то я чувствую, что обращение с ними в обычном режиме является единственным вариантом. –

+0

Привет, Алан, спасибо, что dsl i m способен выполнять гибкий запрос. Im также может сделать соединение из таблицы? Как я могу понять, какой фильтр, используемый в отдыхе, запрашивает у пользователя и анализирует его, чтобы выполнить правильный запрос dsl? – esoni

ответ

0

Я не уверен, что пружина обеспечивает такую ​​функциональность. Вам нужно будет принять условия для ваших фильтров на карте, построить парсер выражений, а затем построить запросы во время выполнения.

Я бы сказал, что лучшим решением является просмотр графика.

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 - более активное решение. –

Смежные вопросы