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

Ejemplo de REST en SpringBoot

La aplicación REST sigue los métodos de arquitectura REST. Usamos la aplicación REST para desarrollar y diseñar aplicaciones web. Genera solicitudes HTTP para ejecutar operaciones CRUD en los datos. Generalmente, los datos se retornan en formato JSON o XML.

Ejemplo de API REST de Spring Boot

En el siguiente ejemplo, crearemos una aplicación REST. En esta aplicación, creamos una lista de productos y retornamos la misma lista. Los datos se retornan en formato JSON.

realicemos esto en una aplicación REST de RSET y conozcamos los métodos REST ejecutando los siguientes pasos.

Pasos1: abrir Spring Initializr https://start.spring.io/.

Pasos2: seleccionar la versión de Spring Boot 2.3.0.M2 .

Pasos3: proporcionar gruponombre. Hemos proporcionado el nombre del grupo com.w3codebox .

Pasos4: proporcionar artefacto. Hemos proporcionado artefacto spring-boot-rest-example ejemplo.

Pasos5: Añadir Spring Web dependencias.

Pasos6: al hacer clic en el botón "Generar". Cuando hacemos clic Generar al hacer clic en el botón (generar)它会将与应用程序相关的所有规范包装到 Jar los archivos y descárguelos en el sistema local.

Pasos7: extraer archivo jar.

Pasos8: copiar la carpeta y pegarla en el área de trabajo de STS.

Pasos9: Importarproyecto.

archivo->Importar->Proyecto Maven existente->Siguiente->Explorar- >Seleccionar carpeta spring- spring-boot-rest-example->Seleccionar carpeta->Completar

importar el proyecto lleva tiempo. Después de importar con éxito el proyecto, podemos verlo en el IDE Explorador de Paquetes puede verlo en la sección

Pasos10: Crear un modelopaquete com.w3codebox la clase. Creamos una clase llamada Productola clase. En esta clase, por favor, realice las siguientes operaciones:

Crear cinco variables id, pname, batchno, price y noofproduct. Cree el constructor por defecto. >Generar usando camposConstructor.
Haga clic con el botón derecho en el archivo->Fuente->Generar constructor usando campos->Seleccionar todo->Generar
>Generarletray getter y setter.

Haga clic con el botón derecho en el archivo->Fuente->Generar Getter y Setters->Seleccionar todo->Generar

Después de completar todos los pasos, la clase se verá así.

Product.java

package com.w3codebox;
public class Product 
{
    private int id;
    private String pname;
    private String batchno;
    private double price;
    private int noofproduct;
    //Constructor por defecto
    public Product()
    {
        
    }
    //Utilice el constructor de campos
    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;
    }
    //getter y setter
    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;
    }
}

Ahora, necesitamos crear un controlador.

Pasos11: com.w3codebox En el paquete, cree un Controlador. Creamos uno llamado ProductController Controlador.

Se utiliza la anotación @RestController Clase de anotación. Hemos conectado automáticamente IProductService Interfaz. La crearemos en el siguiente paso. Hemos utilizado la anotación @GetMapping Creamos un mapeo/Producto. Hemos mapeado el método getProduct()Mapea a/product . Este método devuelve la lista de productos.

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;
    //Mapea el método getProduct() a/product
    @GetMapping(value = "/product)
    public List<Product> getProduct() 
    {
        //Buscar todos los productos
        List<Product> products = productService.findAll();
        //Devuelve la lista de productos
        return products;
    }
}

Pasos12: En el paquete com.w3codebox En crea un nombre IProductService Interfaz, y define findAll() Método, que devuelve la lista de productos.

IProductService.java

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

Pasos13: Crear un Service Clase. Creamos en el paquete com.w3codebox En crea un nombre ProductService Clase de servicio que utiliza la anotación.

Se utiliza la anotación @Service Clase de anotación, e implementa IProductService Interfaz. En este clase, se utiliza la anotación @Override Sobrescribe findAll()Método. El método findAll() de la clase ProductService sobrescribe IProductService el método findAll() de la interfaz. Crear ArrayList los objetos. Añadirde los productos en la lista de matrices. devuelve una lista de productos.Lista.

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()
    {
        //创建一个ArrayList对象
        ArrayList<Product> products = new ArrayList<Product>();
        //将产品添加到列表中
        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, "Washing Machine", "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, "Refrigerator ", "12WP9087" 10000.00, 4));
        //返回一个产品列表
        return products;
    }
}

Pasos14: static 文件夹(src/main/resources/static)中,创建一个HTML文件。我们已经创建了一个名为 index 的HTML文件。在此文件中,我们创建了 Obtener todos los productos的链接。

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>

现在,我们已经创建了所有文件和文件夹。创建所有文件后,项目目录看起来像是

让我们运行该应用程序。

Pasos15: 打开 SpringBootRestExampleApplication.java 保存为Java应用程序。默认情况下,它在端口上运行 8080 arriba.}}

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);
    }
}

Cuando la aplicación se ejecuta con éxito, mostrará el mensaje siguiente

Pasos16: Abra el navegador y llame a la URL http://localhost:8080/index.html. Muestra Obtener todos los productoscomo se muestra en la siguiente imagen.

Haga clic en el enlace Obtener todos los productos。Se encuentra JSON Devuelve la lista de productos en formato y cambia la URL a http://localhost:8080/producto。