Contrôleur
Il recoit les requête WEB et transmet l'information à la partie métier. Nous y définissons l'ensemble des points d'entrées de notre application.
API
- Chaque point d'entrée commence par
/account
suivi de/create
pour créer un compte/update/{id}
pour mettre en jour un compte/delete/{id}
pour supprimer un compte/customer/{id}
récupérer tous les au comptes du clientid
/customer/{idCustomer}/account/{idAccount}
récupérer un compte spécifiqueidAccount
du clientidCustomer
/customer/{idCustomer}/type/{accountType}
récupérer tous les comptes en fonction du typeCHEQUE
ouEPARGNE
Pour ce faire la classe AccountController
possèdera :
- l'annotation
@RestController
- l'annotation
@RequestMapping("/account")
Créer un compte
- Prend en paramètre un objet représentant un
AccountRequestModel
- Appel du service métier
- Si succès alors on renvoie le status 201
- Si erreur alors on renvoie le status 403
@PostMapping("/create")
public ResponseEntity create(@RequestBody AccountRequestModel requestModel) {
try {
// Appel de la partie métier
accountService.create(requestModel);
return ResponseEntity.status(HttpStatus.CREATED).body("New account " + requestModel.getName() + " created");
} catch (AccountNameAlreadyExistException e) {
return ResponseEntity.status(HttpStatus.FORBIDDEN).body(e.getMessage());
}
}