Spring Boot: RestController

RestController est un controller qui contient des méthodes qui sont mappées avec des routes Mais la valeur de retrour de ces méthodes est le contenu de la vue

Exemple


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/* @RestController :la classe  TestsController est un Controller
 ses méthodes retourne le contenu de la vue :le response body
*/
@RestController
public class TestsController {

 @RequestMapping("/ok")  
 public String hello(){ 
    /*String :la valeur de retour est le contenu de la vue  donc on va pas créer une vue */
         
    /*Hello World est le contenu de la vue en rouge */
    return "<b style='color:red'>Hello World!</b>";  
    } 
}

Les types de Retour:Reponse Body


ResponseEntity<String> :le type de retourn est un objet <b>JSON</b> de type 

 /*HttpStatus:permet d'envoyer le status de la réponse:200,201,404,500...*/
 @RequestMapping("/statusOK")
 public ResponseEntity<String> statusOK() {
 /*le contenu envoyé sera Data:bonjour tout le monde est */
     return new ResponseEntity<String> ("Bonjour tout le monde",HttpStatus.OK);
 }
 
 /*HttpStatus.CREATED :201*/
 @RequestMapping("/statusCreated")
 public ResponseEntity<String> CREATED() {
 
     return new ResponseEntity<String> ("Bonjour tout le monde",HttpStatus.CREATED);
 }

ResponseEntity<Produit> :le type de retourn est un objet <b>JSON</b> de type 
produit 
Exemples:
@GetMapping("/{id}")
  public ResponseEntity<Produit> detail() {
      Produit p=new Produit(1,"tel","hp",52,75);
      return new ResponseEntity<>(p, HttpStatus.OK);
  }
 

ResponseEntity<List<Produit>>:le type de retour est un objet <b>JSON</b> qui contient
une liste d'objet Produit'

@GetMapping("/")
public ResponseEntity<List<Produit>> produits() {
    List<Produit>listeProduits=produitRepository.findAll();
    return new ResponseEntity<>(listeProduits, HttpStatus.OK);
}













Cours et TPs