English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Exemple REST SpringBoot

Une application REST suit les méthodes d'architecture REST. Nous utilisons une application REST pour développer et concevoir des applications réseau. Il génère des requêtes HTTP pour exécuter des opérations CRUD sur les données. Souvent, il renvoie des données au format JSON ou XML.

Exemple de Spring Boot REST API

Dans l'exemple suivant, nous allons créer une application REST. Dans cette application, nous créons une liste de produits et renvoyons la même liste. Les données sont renvoyées au format JSON.

Laissons-nous l'implémenter dans une application RSET et comprendre les méthodes REST en suivant les étapes suivantes.

Étape1: Ouvrir Spring Initializr https://start.spring.io/。

Étape2: Choisir la version Spring Boot 2.3.0.M2

Étape3: fourni GroupeNom. Nous avons fourni le nom du groupe com.w3codebox

Étape4: fourni Artéfact. Nous avons fourni Artéfact spring-boot-rest-example Exemple.

Étape5: Ajouter Spring Web Dépendances.

Étape6: Cliquez sur le bouton "Générer"当我们单击 Générer En cliquant sur le bouton (Générer)按钮时,它将与应用程序相关的所有规范包装到 Jar le fichier et le télécharger sur le système local.

Étape7: Extraire fichier jar.

Étape8: Copier le dossier et le coller dans l'espace de travail STS.

Étape9: ImporterProjet.

Fichier->Importer->Projet Maven existant->Suivant->Parcourir- >Choisir le dossier spring- spring-boot-rest-example->Choisir le dossier->Terminé

Il faut du temps pour importer le projet. Une fois le projet importé avec succès, nous pouvons le voir dans l'IDE. Explorateur de package partie pour le voir.

Étape10: Créer un modèlepaquet com.w3codebox de la classe. Nous avons créé une classe nommée Produitde la classe. Dans cette classe, effectuez les opérations suivantes:

Créer cinq variables id, pname, batchno, price et noofproduct. Créer le constructeur par défaut. Utiliser les champs pour générerConstructeur
Cliquez-droit sur le fichier->Source->Utiliser les champs pour générer le constructeur->Tout sélectionner->Générer
Générerlettreet les setters.

Cliquez-droit sur le fichier->Source->Générer Getter et Setters->Tout sélectionner->Générer

Après avoir terminé toutes les étapes, la classe ressemble à ceci.

Product.java

package com.w3codebox;
public class Product 
{
    private int id;
    private String pname;
    private String batchno;
    private double price;
    private int noofproduct;
    //Constructeur par défaut
    public Product()
    {
        
    }
    //Utilisez le constructeur de champ
    public Product(int id, String pname, String batchno, double price, int noofproduct) 
    {
        super();
        this.id = id;
        this.pname = pname;
        this.batchno = batchno;
        this.price = price;
        this.noofproduct = noofproduct;
    }
    //getters et setters
    public int getId() 
    {
        return id;
    }
    public void setId(int id) 
    {
        this.id = id;
    }
    public String getPname() 
    {
        return pname;
    }
    public void setPname(String pname) 
    {
        this.pname = pname;
    }
    public String getBatchno() 
    {
        return batchno;
    }
    public void setBatchno(String batchno) 
    {
        this.batchno = batchno;
    }
    public double getPrice() 
    {
        return price;
    }
    public void setPrice(double price) 
    {
        this.price = price;
    }
    public int getNoofproduct() 
    {
        return noofproduct;
    }
    public void setNoofproduct(int noofproduct) 
    {
        this.noofproduct = noofproduct;
    }
}

Maintenant, nous devons créer un contrôleur.

Étape11: dans com.w3codebox Dans le fichier, créez un contrôleur. Nous avons créé un contrôleur nommé ProductController Contrôleur.

Utiliser les annotations @RestController Classe d'annotation. Nous avons déjà connecté automatiquement IProductService Interface. Nous allons le créer à l'étape suivante. Nous avons déjà utilisé les annotations @GetMapping Créer une correspondance/Produit Nous avons déjà mis en correspondance la méthode getProduct()Mappe à/product 。Cette méthode retourne la liste des produits.

ProductController.java

package com.w3codebox;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ProductController 
{
    @Autowired
    private IProductService productService;
    //Mappe la méthode getProduct() à/product
    @GetMapping(value = "/(product)
    public List<Product> getProduct() 
    {
        //Chercher tous les produits
        List<Product> products = productService.findAll();
        //Retourner la liste des produits
        return products;
    }
}

Étape12: Dans le paquet com.w3codebox Dans la création d'un nom appelé IProductService Interface, et définir findAll() Méthode, cette méthode retourne la liste des produits.

IProductService.java

package com.w3codebox;
import java.util.List;
public interface IProductService 
{
List<Product> findAll();
}

Étape13: Créer un Service Classe. Nous avons créé un paquet com.w3codebox Dans la création d'un nom appelé ProductService Classe de service. ProductService crée une

Utiliser les annotations @Service Classe d'annotation, et implémenter IProductService Interface. Dans ce type, utiliser les annotations @Override couvrir findAll()Méthode. La méthode findAll() de la classe ProductService va IProductService l'interface findAll() méthode. Créer ArrayList l'objet. Ajouterde la liste des tableaux de produits. retourne les produitsListe

ProductService.java

package com.w3codebox;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
public class ProductService implements IProductService  
{
    @Override
    public List<Product> findAll()
    {
        //Créez un objet ArrayList
        ArrayList<Product> products = new ArrayList<Product>();
        //Ajoutez le produit à la liste
        products.add(new Product(100, "Mobile", "CLK98123", 9000.00, 6));
        products.add(new Product(101, "Smart TV", "LGST09167", 60000.00, 3));
        products.add(new Product(102, "Laveuse", ""38753BK9", 9000.00, 7));
        products.add(new Product(103, "Laptop", "LHP29OCP", 24000.00, 1));
        products.add(new Product(104, "Air Conditioner", "ACLG66721", 30000.00, 5));
        products.add(new Product(105, "Réfrigérateur", ""12WP9087", 10000.00, 4));
        //retourne une liste de produit
        return products;
    }
}

Étape14: dans static dossier (src/main/resources/static) et créez un fichier HTML. Nous avons créé un fichier nommé index dans ce fichier HTML. Dans ce fichier, nous avons créé Obtenir tous les produitslien.

index.html

<!DOCTYPE html>
<html>
<head>
<title>Home page</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<p>
<a href="product">Get all Products</a>
</p>
</body>
</html>

Maintenant, nous avons créé tous les fichiers et dossiers. Après la création de tous les fichiers, le répertoire du projet ressemble à une blague:

Lançons cette application.

Étape15: Ouvrez SpringBootRestExampleApplication.java Créez un fichier et une application Java. Par défaut, il s'exécute sur le port 8080 haut.

SpringBootRestExampleApplication.java

package com.w3codebox;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootRestExampleApplication 
{
    public static void main(String[] args) 
    {
        SpringApplication.run(SpringBootRestExampleApplication.class, args);
    }
}

Lorsque l'application s'exécute avec succès, elle affiche le message suivant

Étape16: Ouvrez un navigateur et appellez l'URL http://localhost:8080/index.html. Il montre Obtenir tous les produitsdu lien, comme indiqué dans l'image suivante.

Cliquez sur le lien Obtenir tous les produits。Il s'agit de JSON Format de retour de la liste des produits, et l'URL est modifiée en http://localhost:8080/produit。