In questo momento sto usando Spring per gestire le chiamate REST. Funziona con Java-Annotations e può anche convertire al volo gli oggetti che stai restituendo a JSON .
Penso che sia abbastanza conveniente da usare finora e funziona bene in combinazione con Hibernate (ORM).
Ad esempio:
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
return new Greeting(counter.incrementAndGet(),
String.format(template, name));
}
}
Ti darà l'output:
{
"id": 1,
"content": "Hello, World!"
}
Ma dai un'occhiata a questo tutorial .
Per evitare più chiamate potresti semplicemente passare tutti i parametri necessari in una chiamata e semplicemente restituire un elenco di amici e le loro canzoni. L'elaborazione di dati di grandi dimensioni è un'altra cosa La primavera può fare per te .
Modifica
Leggendo nuovamente la tua domanda non sono sicuro se ciò che volevi fosse una tecnologia per le chiamate REST o se hai solo bisogno di un potente strumento ORM. In tal caso, come accennato prima, Hibernate è uno strumento molto potente. Ha la sua curva di apprendimento, ma penso che ne valga la pena. Se vai su Hibernate dai un'occhiata a questo !