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
/accountsuivi de/createpour 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écifiqueidAccountdu clientidCustomer/customer/{idCustomer}/type/{accountType}récupérer tous les comptes en fonction du typeCHEQUEouEPARGNE
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());
}
}