Package org.miage.tpae.exposition
Class RestCompte
java.lang.Object
org.miage.tpae.exposition.RestCompte
Contrôleur REST pour la ressource comptes
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal ServiceCompteBean métier qui sera injecté par le constructeur Note : on n'utilise pas @Autowired ici -
Constructor Summary
ConstructorsConstructorDescriptionRestCompte(ServiceCompte serviceCompte) Constructeur pour l'injection du bean métier Note : remplace le @Autowired -
Method Summary
Modifier and TypeMethodDescriptionvoidfermerCompte(long idCompte) Permet de cloturer un compte DELETE sur http://localhost:8080/api/comptes/1getCompte(long idCompte) Permet de récupérer les détails utiles d'un compte GET sur http://localhost:8080/api/comptes/1operationCompte(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/operationsrecupererOperations(long idCompte) Permet de récupérer la liste des opérations GET sur http://localhost:8080/api/comptes/1/operationsvirementCompte(long idCompte, VirementImport virementImport) Permet de faire un virement entre deux comptes POST sur http://localhost:8080/api/comptes/1/operations/virements
-
Field Details
-
serviceCompte
Bean métier qui sera injecté par le constructeur Note : on n'utilise pas @Autowired ici
-
-
Constructor Details
-
RestCompte
Constructeur pour l'injection du bean métier Note : remplace le @Autowired- Parameters:
serviceCompte-
-
-
Method Details
-
getCompte
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 compteoperationImport- 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 comptevirementImport- 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
-