tutorial services jax example espaƱol con application java spring web-services rest spring-mvc

java - services - Spring 4 vs Jersey para servicios web REST



web service rest java (2)

Diría que tanto Jersey como Spring MVC son geniales: cada proyecto tiene su propio estilo y fortalezas. De todos modos, Stack Overflow no es el lugar adecuado para hacer comparaciones subjetivas (su pregunta se cerraría con bastante rapidez). Si ya está usando Spring para todo lo demás y no está obligado a usar JAX-RS, entonces Spring MVC tiene mucho sentido.

Con respecto a características como (des) clasificación, JAX-RS es solo una especificación después de todo, otras bibliotecas pueden ofrecer características similares sin implementar la misma API.

  1. En lugar de MessageBodyReaders / Writers, Spring MVC está utilizando HttpMessageConverters para manejar ( HttpMessageConverters ) ordenar recursos REST. Spring MVC maneja la negociación de contenido y elige el mejor convertidor disponible para el trabajo (puede anotar métodos para insinuar qué tipo de medio producen / consumen).

  2. No, no es necesario usar JAX-RS para (des) ordenar recursos. De hecho, las implementaciones JAX-RS y Spring MVC usan bibliotecas de serialización de terceros para hacer el trabajo; entonces no está atado a un estándar particular.

  3. En su versión HttpMessageConverters , Spring es compatible con muchos HttpMessageConverters , con Jackson para JSON, JAXB para XML y muchos otros. Spring 4.1.0 agregó más HttpMessageConverters :

Para responder a su último punto, @XmlRootElement es una anotación JAXB y no forma parte de JAX-RS. Spring es compatible con JAXB .

Para obtener un ejemplo más completo con REST en primavera, consulte esta guía de inicio (obtendrá un ejemplo completo en 10-15 minutos).

Nuevamente, la última parte de su pregunta es bastante subjetiva: hay muchas soluciones populares para construir servicios REST en la JVM, no solo Jersey y Spring (Dropwizard, Play! Framework, etc.).

Estamos planeando hacer una nueva aplicación con la versión spring 4.0.6. Utilizamos un controlador que puede devolver "XML" o "JSON". En el proyecto anterior, implementamos con éxito Jersey con Spring para el soporte REST utilizando la API JAX-RS, pero después de leer algunos artículos y sugerencias de personas de la tercera edad, dijeron que Spring está proporcionando un buen soporte REST.

Algunos de los puntos que realmente me confundieron si uso el soporte Spring REST sin usar JAX-RS y Jersey son:

  1. ¿Cómo se hizo la clasificación y la clasificación en Spring MVC?

  2. ¿Es necesario para la clasificación o desmantelamiento la necesidad de utilizar jax-rs.

  3. Si la ordenación y la desorganización se manejan automáticamente en primavera, entonces, ¿cómo sabe sobre xmlRootElements?

Todavía estoy confundido si Spring demostró un muy buen apoyo de REST, ¿por qué la gente sigue con Jersey para REST? Realmente buscando saber más en detalles.

Si dije algo malo, ignóralo. La explicación con el ejemplo es realmente útil.

¡¡Gracias por adelantado!!


El soporte AFAIK Spring REST se basa en Spring MVC y no es una implementación JAX-RS, mientras que Jersey ha implementado la especificación JAX-RS. Aquellos que tienen Spring (Core, AOP o MVC) en su proyecto eligen el soporte Spring ReST sobre el implementador JAX-RS.

Recomiendo Jersey como maduro, implementa JAX-RS y es fácil de usar.