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

مثال REST لـ SpringBoot

يتبع تطبيق REST أسلوب بنية REST. نستخدم تطبيق REST لتطوير وتصميم تطبيقات الشبكة. يولد HTTP الطلبات التي تنفذ عمليات CRUD على البيانات. عادةً، يتم إرجاع البيانات بتنسيق JSON أو XML.

مثال على API REST Boot

في المثال التالي، سنقوم بإنشاء تطبيق REST. في هذا التطبيق، قمنا بإنشاء قائمة من المنتجات ونعود بنفس القائمة. يتم إرجاع البيانات بتنسيق JSON.

لنفهم كيفية تنفيذها في تطبيق RSET ونفهم أسلوب REST من خلال تنفيذ الخطوات التالية.

步骤1: 打开 Spring Initializr https://start.spring.io/。

步骤2: 选择 Spring Boot版本 2.3.0.M2

步骤3: 提供 名称。我们提供了组名 com.w3codebox

步骤4: 提供 工件。我们提供了 Artifact spring-boot-rest-example 示例。

步骤5: إضافة Spring Web 依赖项。

步骤6: 单击"生成"按钮。当我们单击 Generate (生成)按钮时,它将与应用程序相关的所有规范包装到 Jar 文件中,并将其下载到本地系统。

步骤7: 提取 jar文件。

步骤8: 复制文件夹并将其粘贴到STS工作区中。

步骤9: 导入项目。

文件->导入->现有Maven项目->下一步->浏览- >选择文件夹spring- spring-boot-rest-example->选择文件夹->完成

导入项目需要时间。成功导入项目后,我们可以在IDE的 Package Explorer 部分中看到它。

步骤10: إنشاء 模型 com.w3codebox 中的类。我们创建了一个名为 产品的类。在此类中,请执行以下操作:

创建五个变量id,pname,batchno,price和noofproduct。 创建默认的构造函数。 使用字段生成构造函数
右键单击文件->源->使用字段生成构造函数->全选->生成
生成字母和setter。

右键单击文件->源->生成Getter和Setters->全选->生成

完成所有步骤后,类如下所示。

Product.java

package com.w3codebox;
public class Product 
{
    private int id;
    private String pname;
    private String batchno;
    private double price;
    private int noofproduct;
    //默认构造函数
    public Product()
    {
        
    }
    //使用字段的构造函数
    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和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;
    }
}

现在,我们需要创建一个控制器。

步骤11: في com.w3codebox 包中,创建一个Controller。我们创建了一个名称为 ProductController 的控制器。

استخدام علامة التبويب @RestController 注解类。 我们已自动连接 IProductService 接口。我们将在下一步中创建它。 我们已经使用注解 @GetMapping 创建了一个映射/产品 我们已将方法 getProduct()映射到/product .该方法返回产品列表。

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;
    // ت映射 طريقة getProduct() إلى /product
    @GetMapping(value = "/product")
    public List<Product> getProduct() 
    {
        // البحث عن جميع المنتجات
        List<Product> products = productService.findAll();
        // إرجاع قائمة المنتجات
        return products;
    }
}

الخطوة 12: في حزمة com.w3codebox فيها يتم إنشاء اسم IProductService واجهة، وتعريف findAll() الطريقة، التي تعود قائمة المنتجات.

IProductService.java

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

الخطوة 13: إنشاء Service في حزمة com.w3codebox فيها تم إنشاء فئة تسمى ProductService فئة الخدمة.

استخدام علامة التبويب @Service علامة التبويب فئة، وتنفيذ IProductService واجهة. في هذا الفئة، يتم استخدام علامة التبويب @Override التغطية findAll()الطريقة. طريقة findAll() من فئة ProductService ستعيد تغطية IProductService طريقة findAll() من واجهة. إنشاء ArrayList المنتجات التي تم إضافتها. إضافةمن قائمة المنتجات. إرجاع منتجاتالقائمة

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

الخطوة 14: في static في مجلد (src/main/resources/static) أنشئ ملف HTML. لقد أنشأنا ملفًا يُدعى index ملف HTML. في هذا الملف، أنشأنا الحصول على جميع المنتجاتالرابط.

index.html

<!DOCTYPE html>
<html>
<head>
<title>صفحة المنزل</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<p>
<a href="product">الحصول على جميع المنتجات</a>
</p>
</body>
</html>

الآن، لقد أنشأنا جميع الملفات والمجلدات. بعد إنشاء جميع الملفات، يبدو مجلد المشروع كأنه:

لنبدأ تشغيل هذا التطبيق.

الخطوة 15: فتح SpringBootRestExampleApplication.java ملف باستخدام تطبيق Java. بشكل افتراضي، يعمل على منفذ 8080 أعلاه.

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

عندما يتم تشغيل التطبيق بنجاح، سيتم عرض الرسالة التالية

الخطوة 16: افتح متصفح الويب وأدخل URL http://localhost:8080/index.html. يظهر الحصول على جميع المنتجات، كما هو موضح في الشكل التالي.

انقر على الرابط الحصول على جميع المنتجات، وهي تأتي JSON إرجاع قائمة المنتجات بشكل تنسيقي، ويتم تغيير URL إلى http://localhost:8080/product.