Domanda

Esiste un modo per creare chiamate Spring Web che consumano e producono rispettivamente richieste e risposte in formato application / json ?

Forse questo non è Spring MVC , non ne sono sicuro. Sto cercando le librerie Spring che si comportano in modo simile a Jersey / JSON . Il caso migliore sarebbe se ci fosse un'annotazione che potrei aggiungere alle classi del Controller che li trasformerebbe in JSON chiamate di servizio.

Un tutorial che mostra come costruire Spring Web Services con JSON sarebbe fantastico.


EDIT: Sto cercando un approccio basato sulle annotazioni (simile a Jersey).

EDIT2: Come Jersey, sto cercando il supporto REST (POST, GET, DELETE, PUT).

EDIT3: Più preferibilmente, si tratterà delle voci pom.xml e alcune informazioni sull'uso di spring-js con jackson Spring versione nativa delle cose.

È stato utile?

Soluzione

Nel caso in cui altri ppl arrivino più tardi: http://blog.springsource.com/ 2010/01/25 / Ajax-semplificazioni-in-primavera-3-0 / è stato il collegamento più utile per me. Questo alla fine mi ha fatto capire il modello (dopo meno di un giorno di ricerche).

Altri suggerimenti

Puoi certamente avere controller che restituiscono una vista che si trova nell'output JSON. Dai un'occhiata a il progetto Spring-JSON .

Per consumare richieste in JSON, suppongo che vorresti che un controller passasse un parametro di richiesta a una libreria JSON che potrebbe analizzare i dati?

Non esiste un modo preconfezionato per fare ciò che desideri poiché Jersey è ben integrata con Spring tramite Jersey-Spring API, quindi non c'è davvero motivo di reinventare la ruota.

Poiché il supporto ufficiale di spring-mvc 3.0 per il remoting Ajax con JSON è fornito come parte di Spring MVC. Ciò include il supporto per la generazione di risposte JSON e l'associazione di richieste JSON utilizzando il modello di programmazione Spring MVC @Controller.

vedi qui

Questa funzionalità è ora parte di Spring dalla versione 3.0. È possibile semplicemente utilizzare l'annotazione @ResponseBody per specificare che si desidera che il valore restituito dai metodi del gestore di richieste sia serializzato su JSON e inviato come corpo della risposta. Vedi http://blog.springsource.com / 2010/01/25 / Ajax-semplificazioni-in-primavera-3-0 /

Sembra che DWR sembra molto vicino a ciò che vuoi ottenere.

È possibile configurare gli intercettori Spring MVC tramite mapping dei gestori e quindi utilizzare i mapping per trasformare i dati di ritorno in JSON. La configurazione del gestore può essere eseguita in xml (non è necessario ricompilare) e questo può essere completamente trasparente per il resto dell'applicazione.

È abbastanza facile annotare i controller con alcune annotazioni, quindi collegare il processo bootstrap BeanFactory per registrare i controller all'interno di un processo di mappatura dei gestori.

Ho usato questo approccio per trasformare il risultato dei controller a molla in chiamate RPC GWT.

Puoi anche usare Spring AOP per intercettare le chiamate al metodo del controller e scartare / avvolgere le richieste da / a JSON.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top