Formation REST avec Java EE

Logo Java

Vue d’ensemble

  • Le style d’architecture REST
  • La spécification JAX-RS
  • Les implémentations JAX-RS du marché

Architecture REST

  • Historique
  • Les contraintes d’une architecture REST
    • Client - Serveur
    • Sans état
    • Mise en Cache
    • Interface commune
    • Hierarchie par couche
    • Code à la demande
  • Elements d’architecture
    • Ressources et identifiants
    • Représentation
    • Connecteurs
    • Composants REST
  • API REST
    • Conception d’une API REST
    • Identification des ressources
    • Définition des URIs
    • Définition des formats des données échangées
    • Outillage

REST & Java EE

  • Présentation de JAX-RS
  • Activer JAX-RS au sein d’un environnement Java EE
  • Exposer des services
    • @Path
    • @GET, @POST, @PUT, @DELETE, …
    • Créer une méthode HTTP non prévue par JAX-RS
  • Configurer le format d’échange
    • Les formats d’échange supportés
    • @Consumes
    • @Produces
  • Récupérer les informations d’une requête HTTP
    • @PathParam
    • @MatrixParam
    • @QueryParam
    • @FormParam
    • @HeaderParam
    • @CookieParam
    • @Context
    • @DefaultValue
  • Renseigner les informations d’une réponse HTTP
    • Classes Response et ResponseBuilder
    • Classe NewCookie
    • L’énumération Status
    • Gérer les erreurs
  • Utiliser des composants métiers
    • Cas d’un composant CDI
    • Cas d’un composant EJB

Client REST en Java

  • JAX-RS Client API
    • Présentation
    • Implémentations du marché
    • Créer un client avec la classe ClientBuilder
    • Configurer une requête
    • Envoyer une requête
    • Récupérer les informations de la réponse
    • Transformer une réponse en objet Java
  • La librairie Retrofit
    • Présentation de Retrofit
    • Définir une interface de communication
      • Entêtes
      • Méthode HTTP
      • URL
      • Corps de requête
      • Formulaires
      • Transfert de fichier
    • Configurer Retrofit
      • Liste des convertisseurs supportés
      • Définir un convertisseur personnalisé