Sto lavorando a un progetto e vorrei esporre alcuni servizi REST. Le tecnologie utilizzate sono RestEasy, EJB e JPA / Hibernate. Ho strutturato la mia app in modo che vi sia una chiara delimitazione tra il livello di servizio e il livello del modello. Un servizio tipico che recupera i dati dal database ha una firma come questa: getWhateverList(idForWhichTheListWillBeRetrieved, start)
- quindi piuttosto semplice.
Quello che sto facendo fatica a racchiudere la mia mente è come riunire la rigidità del livello di servizio con la flessibilità del livello REST. Supponiamo ad esempio che mi piacerebbe un tipico metodo GET che produca operazioni di supporto dell'array JSON come:
- filtering - usa un parametro query per ottenere, ad esempio, elementi che hanno una proprietà di tipo data maggiore / minore del parametro che fornisco
- ordinamento - L'API REST dovrebbe supportare asc o desc
- limitando i campi restituiti dall'operazione GET