Class RestClient

java.lang.Object
org.miage.tpae.exposition.RestClient

@RestController @RequestMapping("/api/clients") public class RestClient extends Object
Contrôleur REST pour la ressource clients
  • Constructor Summary

    Constructors
    Constructor
    Description
    RestClient(ServiceClient serviceClient, ServiceCompte serviceCompte)
    Constructeur pour l'injection (remplace les @Autowired)
  • Method Summary

    Modifier and Type
    Method
    Description
    Permet de créer un nouveau client POST sur http://localhost:8080/api/clients
    getClient(long idClient)
    Permet de récupérer les détails d'un client GET sur http://localhost:8080/api/clients/1
    listerComptes(long idClient)
    Permet de récupérer la liste des comptes d'un client donné GET sur http://localhost:8080/api/clients/1/comptes
    ouvrirCompte(long idClient, Compte compte)
    Permet de créer un compte pour ce client POST sur http://localhost:8080/api/clients/1/comptes Note : c'est dans ce contrôleur car la ressource est ici considéré comme une sous-ressource

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RestClient

      public RestClient(ServiceClient serviceClient, ServiceCompte serviceCompte)
      Constructeur pour l'injection (remplace les @Autowired)
      Parameters:
      serviceClient - le bean métier client injecté
      serviceCompte - le bean métier compte injecté
  • Method Details

    • getClient

      @GetMapping("{id}") public Client getClient(@PathVariable("id") long idClient)
      Permet de récupérer les détails d'un client GET sur http://localhost:8080/api/clients/1
      Parameters:
      idClient - id du client
      Returns:
      le client qui sera traduit en JSON
    • creerClient

      @PostMapping public Client creerClient(@RequestBody Client client)
      Permet de créer un nouveau client POST sur http://localhost:8080/api/clients
      Parameters:
      client - les détails du client envoyés par le front uniquement prénom et nom sont utiles Exemple : { "nom" : "Durand", "prenom" : "Marcel" }
      Returns:
      le nouveau client en JSON
    • ouvrirCompte

      @PostMapping("{id}/comptes") public Compte ouvrirCompte(@PathVariable("id") long idClient, @RequestBody Compte compte)
      Permet de créer un compte pour ce client POST sur http://localhost:8080/api/clients/1/comptes Note : c'est dans ce contrôleur car la ressource est ici considéré comme une sous-ressource
      Parameters:
      idClient - id du client
      compte - les détails du compte qui seront envoyés par le front ici seul le solde est utile Exemple : { "solde" : 10000 }
      Returns:
      le nouveau compte
    • listerComptes

      @GetMapping("{id}/comptes") public List<Compte> listerComptes(@PathVariable("id") long idClient)
      Permet de récupérer la liste des comptes d'un client donné GET sur http://localhost:8080/api/clients/1/comptes
      Parameters:
      idClient - id du client
      Returns:
      la liste des comptes en JSON