English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Приложения REST следуют методам архитектуры REST. Мы используем приложения REST для разработки и дизайна веб-приложений. Оно генерирует HTTP-запросы для выполнения CRUD-операций с данными. Обычно, оно возвращает данные в формате JSON или XML.
В следующем примере мы создадим приложение 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 в пакете, создайте контроллер. Мы создали контроллер с именем 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.