SpringBoot:Api Detail,Vider,Supprimer

Les étapes à suivre:

  1. 1Créer la méthode detail() dans le controller ProduitController Permettant de retourner le produit dont d'id est passé en paramètres
  2. 2Créer la méthode supprimer() dans le controller ProduitController Permettant de supprimer de la table produitle produit dont d'id est passé en paramètres
  3. 3Créer la méthode vider() dans le controller ProduitController Permettant de vider la table produits

1.Créer la méthode detail() dans le controller ProduitController

 //Details
 @GetMapping("/{id}")
 /*@PathVariable("id"):recupérer l'id passé en paramètre*/
   public ResponseEntity<Produit> detail(@PathVariable("id"int id) {
    /*chercher dans la table produit avec l'id passé en paramètre*/
    Optional<Produit>pp=produitRepository.findById(id);
    /*s'il existe un produit on l'envoi avec le status 200*/
    if(pp.isPresent())
      {
     Produit p=pp.get();
    return new ResponseEntity<>(p, HttpStatus.OK);
     }
    /*s'il n'existe pas un produit avec cet id on envoi 404 */
    return new ResponseEntity<>(HttpStatus.NOT_FOUND);
 }

2.Créer la méthode supprimer() dans le controller ProduitController

//Supprimer
@DeleteMapping("/{id}")
public ResponseEntity<HttpStatus> supprimer(@PathVariable("id"int id) {
try {
/*Supprimer le produit de la table produit*/
produitRepository.deleteById(id);
/*retourne le status 200*/
return new ResponseEntity<>(HttpStatus.OK);
catch (Exception e) {
//s'il le produit n'existe pas retourne status=204
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
}

3.Créer la méthode vider() dans le controller ProduitController Permettant de vider la table produits

//vider la table Produit
@DeleteMapping("/vider")
public ResponseEntity<HttpStatus> vider() {
try {
/*truncate produit*/
produitRepository.deleteAll();
/*retourne status :200*/
return new ResponseEntity<>(HttpStatus.OK);
catch (Exception e) {
/*s'il erreur retourne status 500*/
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}

}








Cours et TPs