Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2019
    Messaggi
    3

    Richieste filtrate Spring

    Salve, sto cercando un modo di effettuare richieste filtrate attraverso delle Applicazioni SpringBoot. Attraverso delle query string a mio piacimento devo creare dei metodi che mi permettono di restituire una struttura dati filtrata. Ad esempio
    GET /stats?field=Popo2011&filter={"Popo2011": {"$bt": [1000, 10000]}}
    Questo è un esempio di richiesta Get con la quale restituisco solo una parte della struttura dati.
    Chiedo come si possa implementare un metodo/richiesta del genere

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    659
    Se usi Spring stiamo parlando di Java, questa è la sezione Javascript, sono 2 linguaggi diversi.

    Da quello che chiedi mi sembra di capire che devi costruire una api rest interrogabile tramite chiamate GET giusto?

    Per avere un'idea puoi iniziare da qui: https://spring.io/guides/gs/rest-service/

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,201
    Infatti è roba di Java. Ti ho spostato li.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Quote Originariamente inviata da elsospi Visualizza il messaggio
    Chiedo come si possa implementare un metodo/richiesta del genere
    Innanzitutto ne hai già parlato qui: https://www.iprogrammatori.it/forum-...ng-t39357.html

    Comunque quale è il dubbio o problema esattamente? Quel valore è chiaramente un JSON (ed è sostanzialmente simile/uguale a quanto mi pare di aver già intravisto qualche volta per le query su MongoDB).

    Ma se devi usare quel JSON per fare delle TUE logiche di filtro su delle tue collezioni o che altro di simile, non mi pare ci sia nulla di già fatto per questo. Ovvero: quel JSON devi parsarlo tu, estrarre i dati, interpretarli, ecc... Per es. vedere che c'è una chiave "Popo2011" (deduco che sia il nome di una property di una tua classe), prendere il valore che è un altro oggetto JSON, dedurre che, presumo io, "$bt" descriva il concetto di "between" quindi prendere il range, ecc.. Ma poi quando hai gli oggetti in mano da trattare, dovrai prendere dinamicamente (=reflection) il valore della property e applicargli quella logica di filtro.

    Tutto questo, SI FA. Non è una cosa enormemente difficile (ci sono cose ben più complicate). Ma serve conoscenza della reflection (o della API del package java.beans o anche di una libreria che sfrutta la reflection, come la Apache Commons BeanUtils) e ovviamente conoscenza valida della programmazione ad oggetti: classi, interfacce, astrazioni, design pattern, ecc..

    Tra l'altro hai solo mostrato un caso specifico. Puoi avere più proprietà da trattare? Puoi avere condizioni di AND/OR/NOT per mettere insieme più filtri? Come rappresenti, se voluto/necessario, l'accesso a proprietà "innestate"? Quali tipi di valori vuoi poter trattare? Solo primitivi/wrapper e String? O anche altro?
    La questione insomma, è ampia.
    Ultima modifica di andbin; 22-06-2019 a 19:10
    AndreaSenior Java developerSCJP 5 (91%) – SCWCD 5 (94%)
    Il mio nuovo sito-blog italiano sulla programmazione: andbin.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.