SpringBoot:Api Detail,Vider,Supprimer
Les étapes à suivre:
- 1Créer la méthode detail() dans le controller ProduitController Permettant de retourner le produit dont d'id est passé en paramètres
- 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
- 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);
}
}