2017-01-03 2 views
0

J'ai une entité pour i.e tableau de stock (attribut, quantité, poids, date d'expiration .. ecc) ... comment peut faire une requête dynamique sur mon backend ressort de repos? Par exemple, l'utilisateur peut faire une requête sans filtre, mais peut aussi faire une requête avec plusieurs filtres pour la quantité,> 0 et item = x et les données d'expiration> hier ... donc je dois développer l'analyse pour accepter pas un fixe nombre de paramètres. Ma deuxième question est que mon repos api doit accepter = comme opérateur mais aussi <>> = < =! = Pour faire une requête de filtre. Merciressort de repos filtre multiple

+1

Pour la première partie en utilisant le support de données QueryDsl printemps serait une possibilité. Voir par exemple: http://stackoverflow.com/questions/41148216/spring-jpa-custom-query-with-combination-of-parameters-in-where-condition/41151516#41151516 Cependant, si l'utilisateur peut également spécifier les opérateurs alors je sens que la manipulation de ces coutume est la seule option. –

+0

Salut Alan, merci avec DSL je suis capable de faire une requête flexible. Im aussi capable de faire la jointure de la table? Comment puis-je comprendre quel filtre utilisé en repos demande à l'utilisateur et l'analyse afin de faire la bonne requête dsl? – esoni

Répondre

0

Je ne suis pas sûr si le printemps fournit une telle fonctionnalité. Vous devrez prendre les conditions pour vos filtres dans une carte, construire un analyseur d'expression, puis générer des requêtes au moment de l'exécution.

Je dirais qu'une meilleure solution est de regarder graphql.

http://graphql.org/

printemps a un support pour GraphQL https://github.com/oembedler/graphql-spring-boot

+0

les critères de construction peuvent être une solution correcte? http://www.baeldung.com/rest-search-language-spring-jpa-criteria – esoni

+0

@dariofrongi oui si vous voulez une solution simple, alors respectez cette approche. GraphQL est une solution plus impliquée. –