Mettre en œuvre une architecture de services légère REST avec J-RS-Jax-RS
Programme
Introduction
- Les services REST
- Présentation de REST
- Un style architectural
- Les contraintes d’un système RESTful
- Modèle de maturité de Richardson
- Comparaison SOAP/REST
Rappels HTTP
- Les URI
- Structure d’une requête
- Méthode HTTP
- En-tête HTTP
- Structure d’une réponse
- Statut de réponse HTTP
- Requête sûre
- Requête idempotente
- Stateless vs Stateful
- Sécurisation HTTP
JAX-RS
- Les implémentations
- Notions de base : ressource
- Mise en place d’un service
- Déploiement d’un service
Jersey
- Déploiement dans différents environnements
- Création d’un projet
Les annotations JAX-RS
- Les annotations usuelles
- Les annotations pour extraire des infos
- Le modèle d’injection
- Conversion des types
- Validation
Gestion de contenu
- Conneg
- @Produces et @Consumes
- Le quality factor q
- Paramètre d’entrée
- Type de retour
- Entity provider
- ResponseBuilder
- Uri et UriBuilder
- Link et Link headers
- Gestion des exceptions
La représentation des ressources
JavaScript Object Notation
Utilisation avancée de JAX-RS
- Filtres
- Intercepteurs
- Dynamic binding
- Name Binding
- L’ordre des filtres et intercepteurs
- API Asynchrone
Intégration avec les EJB
Client Java RESTful
- Consommation de services REST
- Jersey Client
- L’API CLient de JAX-RS
- Fonctionnalités clients avancées
Sécurité avec JAX-RS
- Sécurité des services avec Java EE
- Sécurité des services avec JWT
- CORS
La documentation d’une API
- WADL, RAML, Blue Print
- Swagger
Tests des services REST
- Avec cURL
- Avec PostMan
- Avec RestAssured
- Avec SOAP-UI
Conclusion