Class RestCompte

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

@RestController @RequestMapping("/api/comptes/{id}") public class RestCompte extends Object
Contrôleur REST pour la ressource comptes
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Bean métier qui sera injecté par le constructeur Note : on n'utilise pas @Autowired ici
  • Constructor Summary

    Constructors
    Constructor
    Description
    RestCompte(ServiceCompte serviceCompte)
    Constructeur pour l'injection du bean métier Note : remplace le @Autowired
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    fermerCompte(long idCompte)
    Permet de cloturer un compte DELETE sur http://localhost:8080/api/comptes/1
    getCompte(long idCompte)
    Permet de récupérer les détails utiles d'un compte GET sur http://localhost:8080/api/comptes/1
    operationCompte(long idCompte, OperationImport operationImport)
    Permet de faire des opérations de crédit et de débit sur le compte POST sur http://localhost:8080/api/comptes/1/operations
    recupererOperations(long idCompte)
    Permet de récupérer la liste des opérations GET sur http://localhost:8080/api/comptes/1/operations
    virementCompte(long idCompte, VirementImport virementImport)
    Permet de faire un virement entre deux comptes POST sur http://localhost:8080/api/comptes/1/operations/virements

    Methods inherited from class java.lang.Object

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

    • serviceCompte

      public final ServiceCompte serviceCompte
      Bean métier qui sera injecté par le constructeur Note : on n'utilise pas @Autowired ici
  • Constructor Details

    • RestCompte

      public RestCompte(ServiceCompte serviceCompte)
      Constructeur pour l'injection du bean métier Note : remplace le @Autowired
      Parameters:
      serviceCompte -
  • Method Details

    • getCompte

      @GetMapping public Position getCompte(@PathVariable("id") long idCompte)
      Permet de récupérer les détails utiles d'un compte GET sur http://localhost:8080/api/comptes/1
      Parameters:
      idCompte - id du compte
      Returns:
      la position du compte en JSON
    • recupererOperations

      @GetMapping("/operations") public Collection<OperationCompte> recupererOperations(@PathVariable("id") long idCompte)
      Permet de récupérer la liste des opérations GET sur http://localhost:8080/api/comptes/1/operations
      Parameters:
      idCompte - id du compte
      Returns:
      la liste d'opérations en JSON
    • operationCompte

      @PostMapping("operations") public Position operationCompte(@PathVariable("id") long idCompte, @RequestBody OperationImport operationImport) throws OperationNonConforme
      Permet de faire des opérations de crédit et de débit sur le compte POST sur http://localhost:8080/api/comptes/1/operations
      Parameters:
      idCompte - id du compte
      operationImport - détails de l'opération à réaliser contient le type d'opération et la somme (valeur) Exemple : { "valeur" : 100, "operationType" : "CREDIT" } Exemple 2 : { "valeur" : 100, "operationType" : "DEBIT" }
      Returns:
      la nouvelle position du compte
      Throws:
      OperationNonConforme - si l'opération n'est ni DEBIT ni CREDIT
    • virementCompte

      @PostMapping("operations/virements") public Position virementCompte(@PathVariable("id") long idCompte, @RequestBody VirementImport virementImport)
      Permet de faire un virement entre deux comptes POST sur http://localhost:8080/api/comptes/1/operations/virements
      Parameters:
      idCompte - id du compte
      virementImport - détails du virement contient la valeur (somme) et l'id du compte destinataire Exemple : { "valeur" : 100, "idCompteDestinataire" : 2 }
      Returns:
      la nouvelle position du compte débité
    • fermerCompte

      @DeleteMapping public void fermerCompte(@PathVariable("id") long idCompte)
      Permet de cloturer un compte DELETE sur http://localhost:8080/api/comptes/1
      Parameters:
      idCompte - id du compte à fermer