2012-02-29 10 views
17

Estoy intentando construir un servicio web REST (del lado del servidor) que permita a un sistema asociado conectarse/información de pedido POST en formato JSON. ¿Debo usar JAX RS (por ejemplo, de JBOSS RESTEasy) o Spring MVC para construir dicho servicio? Ambos parecen lo suficientemente capaces de lograr lo mismo en lo que se refiere a la construcción de un servicio REST.DESCANSO usando JAX RS o Spring MVC

Gracias!

Respuesta

18

Depende si quieres aprender algo nuevo o ir con lo que ya sabes.

Si ya tiene experiencia con Spring MVC y desea hacer el trabajo rápidamente, le sugiero que se quede con Spring MVC. Hay algunas mejoras geniales a las características REST en Spring 3.1, incluida la posibilidad de generar "end point documentation".

Si, por otro lado, está buscando expandir su CV y ​​/ o disfrutar aprendiendo nuevas tecnologías, entonces dele un JAX RS. No lo he usado, pero es un marco de WS dedicado que probablemente tenga cualquier característica que requiera.

Por supuesto, si usted tiene experiencia con JAX RS pero no Spring MVC, entonces el contrario se aplica :-)

10

Si está desarrollando un proyecto de EE 5 entonces recomendaría el uso de JAX-RS con la primavera. El RI para JAX-RS, Jersey, tiene un servlet despachador Spring JAX-RS. Esto hace que sea mucho más fácil administrar la inyección de dependencias con JAX-RS y le proporciona todas las características de Spring MVC, como el enlace y validación de formularios, pero también puede usar el enfoque estándar de Java para REST, y en mi opinión, un mejor enfoque más fácil de administrar que Spring REST.

Si se trata de una aplicación EE 6, entonces es posible que desee pensar en abandonar Spring, ya que JAX-RS forma parte de las especificaciones EE 6 y puede utilizar EE CDI en sus clases JAX-RS.

1

en cuenta que Jersey tiene un error que afecta a su integración con la primavera:

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

En resumen, si usted necesita primavera AOP en sus recursos JAX-RS no va a funcionar. La inyección de dependencia funciona bien.

0

REST es más un estilo arquitectónico de desarrollo de servicios web que son muy fáciles de entender sin documentación para un desarrollador. Las personas expertas en tecnología pueden entender fácilmente los patrones de las URL, y los tipos de respuesta de compatibilidad con JSON y XML facilitan la integración con los nuevos estándares de modularización de javascript, como backbone o angular.js.

Por otro lado SpringMVC se concentra más en el estilo de arquitectura de modelo-vista-controlador de aplicaciones en desarrollo.