JAX-RS
JAX-RS est un spécification pour l'implémentation de services web REST en Java, actuellement définie par la norme JSR-370 . Il fait partie de la Technologies Java EE actuellement définie par la JSR 366 .
Jersey (livrée avec GlassFish et Payara) est l'implémentation de référence de JAX-RS, mais il existe d'autres implémentations telles que RESTEasy (livré avec JBoss EAP et WildFly) et Apache CXF (livré avec TomEE et WebSphere).
Cadre de travail de Spring
Le site Cadre de travail de Spring est un cadre complet qui vous permet de créer des applications d'entreprise Java. Les fonctionnalités REST sont fournies par le Spring MVC (le même module qui fournit contrôleur de modèle-vue capacités). Il ne s'agit pas d'une mise en œuvre de JAX-RS et peut être considéré comme une alternative de Spring à la norme JAX-RS.
L'écosystème Spring fournit également un large éventail de projets pour la création d'applications d'entreprise, couvrant la persistance, la sécurité, l'intégration aux réseaux sociaux, le traitement par lots, etc.
Exemples
Considérez le contrôleur de ressources suivant qui utilise l'API JAX-RS :
@Path("/greetings")
public class JaxRsController {
@GET
@Path("/{name}")
@Produces(MediaType.TEXT_PLAIN)
public Response greeting(@PathParam("name") String name) {
String greeting = "Hello " + name;
return Response.ok(greeting).build();
}
}
L'implémentation équivalente utilisant l'API Spring MVC serait :
@RestController
@RequestMapping("/greetings")
public class SpringRestController {
@RequestMapping(method = RequestMethod.GET,
value = "/{name}",
produces = MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<?> greeting(@PathVariable String name) {
String greeting = "Hello " + name;
return new ResponseEntity<>(greeting, HttpStatus.OK);
}
}
Utilisation de Spring Boot et Jersey
Spring Boot fournit le spring-boot-starter-jersey
qui vous permet d'utiliser le modèle de programmation JAX-RS pour les points de terminaison REST au lieu de Spring MVC. Il fonctionne très bien avec Jersey 2.x.
Pour un exemple complet de la création d'une application web avec Jersey 2.x et Spring Boot 1.4.x, reportez-vous à l'adresse suivante réponse .
0 votes
@CássioMazzochiMolin merci pour votre réponse, je vais l'accepter dans un moment, une autre question, vous avez mentionné que le Spring Framework n'est pas une implémentation de JAX-RS, quelle spécification Spring suit-il ? Merci
4 votes
Il ne met en œuvre aucune spécification particulière. C'est juste le La voie du printemps de faire les choses. Les capacités REST sont fournies par le
spring-webmvc
qui fournit également le contrôleur de modèle-vue de Spring.0 votes
stackoverflow.com/questions/35336839/