2012-02-29 19 views
17

Sto provando a creare un servizio Web REST (lato server) che consenta a un sistema partner di connettersi/informazioni sugli ordini POST in formato JSON. Dovrei usare JAX RS (per esempio da JBOSS RESTEasy) o Spring MVC per costruire un servizio del genere? Entrambi sembrano abbastanza capaci di realizzare la stessa cosa per quanto riguarda la costruzione di un servizio REST.REST utilizzando JAX RS o Spring MVC

Grazie!

risposta

18

Dipende se vuoi imparare qualcosa di nuovo o andare con quello che già sai.

Se hai già esperienza con Spring MVC e vuoi portare a termine il lavoro rapidamente, ti suggerisco di restare con Spring MVC. Ci sono alcuni miglioramenti netti alle funzionalità REST di Spring 3.1, inclusa la possibilità di generare "end point documentation".

Se, invece, stai cercando di espandere il tuo CV e/o divertirti ad apprendere nuove tecnologie, allora dai un assaggio a JAX RS. Non l'ho usato ma è un framework WS dedicato che probabilmente avrebbe qualche funzione che avresti richiesto.

Naturalmente, se avete esperienza con JAX RS, ma non Spring MVC, quindi l'opposto si applica :-)

10

Se si sta sviluppando un progetto EE 5 poi mi consiglia di utilizzare JAX-RS con la Primavera. Il RI per JAX-RS, Jersey, ha un servlet di dispatcher Spring JAX-RS. Ciò semplifica notevolmente la gestione delle dipendenze con JAX-RS e offre tutte le funzionalità di Spring MVC come l'associazione e la validazione dei moduli, ma è anche possibile utilizzare l'approccio standard Java per REST e, a mio parere, una soluzione migliore e approccio più facile da gestire rispetto a Spring REST.

Se si tratta di un'app EE 6, si potrebbe pensare di abbandonare Spring poiché JAX-RS fa parte delle specifiche EE 6 e si può utilizzare EE CDI nelle classi JAX-RS.

1

noti che Jersey ha un bug che colpisce la sua integrazione con la Primavera:

https://java.net/jira/browse/JERSEY-2301

In sintesi se avete bisogno di Primavera AOP nelle vostre JAX-RS risorse non funzionerà. L'iniezione di dipendenza funziona bene.

0

REST è più uno stile di architettura di sviluppo di servizi Web che è molto facile da capire senza nemmeno la documentazione per uno sviluppatore. Le persone con un livello di tecnologia normale possono facilmente comprendere i pattern URL anche i tipi di risposta di supporto JSON e XML facilitano l'integrazione con i nuovi standard di modularizzazione javascript come backbone o angular.js.

D'altra parte, SpringMVC si concentra maggiormente sullo sviluppo di applicazioni di sviluppo in stile model-view-controller.

Problemi correlati