亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

SpringBoot REST示例

REST應(yīng)用程序遵循REST體系結(jié)構(gòu)方法。我們使用REST應(yīng)用程序來(lái)開(kāi)發(fā)和設(shè)計(jì)網(wǎng)絡(luò)應(yīng)用程序。它生成對(duì)數(shù)據(jù)執(zhí)行CRUD操作的HTTP請(qǐng)求。通常,它以JSON或 XML 格式返回?cái)?shù)據(jù)。

Spring Boot REST API示例

在下面的示例中,我們將創(chuàng)建一個(gè)REST應(yīng)用程序。在此應(yīng)用程序中,我們創(chuàng)建了一個(gè)產(chǎn)品列表并返回相同的列表。它以 JSON 格式返回?cái)?shù)據(jù)。

讓我們?cè)赗SET應(yīng)用程序中實(shí)現(xiàn)它并了解REST方法通過(guò)執(zhí)行以下步驟。

步驟1: 打開(kāi) Spring Initializr https://start.spring.io/。

步驟2: 選擇 Spring Boot版本 2.3.0.M2

步驟3: 提供 名稱(chēng)。我們提供了組名 com.nhooo

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

步驟5: 添加 Spring Web 依賴(lài)項(xiàng)。

步驟6: 單擊"生成"按鈕。當(dāng)我們單擊 Generate (生成)按鈕時(shí),它將與應(yīng)用程序相關(guān)的所有規(guī)范包裝到 Jar 文件中,并將其下載到本地系統(tǒng)。

步驟7: 提取 jar文件。

步驟8: 復(fù)制文件夾并將其粘貼到STS工作區(qū)中。

步驟9: 導(dǎo)入項(xiàng)目。

文件->導(dǎo)入->現(xiàn)有Maven項(xiàng)目->下一步->瀏覽- >選擇文件夾spring- spring-boot-rest-example->選擇文件夾->完成

導(dǎo)入項(xiàng)目需要時(shí)間。成功導(dǎo)入項(xiàng)目后,我們可以在IDE的 Package Explorer 部分中看到它。

步驟10: 創(chuàng)建一個(gè) 模型 com.nhooo 中的類(lèi)。我們創(chuàng)建了一個(gè)名為 產(chǎn)品的類(lèi)。在此類(lèi)中,請(qǐng)執(zhí)行以下操作:

創(chuàng)建五個(gè)變量id,pname,batchno,price和noofproduct。 創(chuàng)建默認(rèn)的構(gòu)造函數(shù)。 使用字段生成構(gòu)造函數(shù)。
右鍵單擊文件->源->使用字段生成構(gòu)造函數(shù)->全選->生成
生成字母和setter。

右鍵單擊文件->源->生成Getter和Setters->全選->生成

完成所有步驟后,類(lèi)如下所示。

Product.java

package com.nhooo;
public class Product 
{
    private int id;
    private String pname;
    private String batchno;
    private double price;
    private int noofproduct;
    //默認(rèn)構(gòu)造函數(shù)
    public Product()
    {
        
    }
    //使用字段的構(gòu)造函數(shù)
    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;
    }
}

現(xiàn)在,我們需要?jiǎng)?chuàng)建一個(gè)控制器。

步驟11: com.nhooo 包中,創(chuàng)建一個(gè)Controller。我們創(chuàng)建了一個(gè)名稱(chēng)為 ProductController 的控制器。

使用注解 @RestController 注解類(lèi)。 我們已自動(dòng)連接 IProductService 接口。我們將在下一步中創(chuàng)建它。 我們已經(jīng)使用注解 @GetMapping 創(chuàng)建了一個(gè)映射/產(chǎn)品。 我們已將方法 getProduct()映射到/product 。該方法返回產(chǎn)品列表。

ProductController.java

package com.nhooo;
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() 
    {
        //查找所有產(chǎn)品
        List<Product> products = productService.findAll();
        //返回產(chǎn)品列表
        return products;
    }
}

步驟12: 在包 com.nhooo 中創(chuàng)建一個(gè)名稱(chēng)為 IProductService 的接口,并定義 findAll() 方法,該方法返回產(chǎn)品列表。

IProductService.java

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

步驟13: 創(chuàng)建一個(gè) Service 類(lèi)。我們?cè)诎? com.nhooo 中創(chuàng)建了一個(gè)名為 ProductService 的服務(wù)類(lèi)。

使用注解 @Service 注解類(lèi),并實(shí)現(xiàn) IProductService 接口。 在此類(lèi)中,使用注解 @Override 覆蓋 findAll()方法。 ProductService類(lèi)的findAll()方法將覆蓋 IProductService 接口的findAll()方法。 創(chuàng)建 ArrayList 的對(duì)象。 添加陣列列表中的產(chǎn)品。 返回產(chǎn)品的列表。

ProductService.java

package com.nhooo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
public class ProductService implements IProductService  
{
    @Override
    public List<Product> findAll()
    {
        //創(chuàng)建一個(gè)ArrayList對(duì)象
        ArrayList<Product> products = new ArrayList<Product>();
        //將產(chǎn)品添加到列表中
        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));
        //returns a list of product
        return products;
    }
}

步驟14: static 文件夾(src/main/resources/static)中,創(chuàng)建一個(gè)HTML文件。我們已經(jīng)創(chuàng)建了一個(gè)名為 index 的 HTML 文件。在此文件中,我們創(chuàng)建了 獲取所有產(chǎn)品的鏈接。

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>

現(xiàn)在,我們已經(jīng)創(chuàng)建了所有文件和文件夾。創(chuàng)建所有文件后,項(xiàng)目目錄看起來(lái)像是在愚弄:

Spring Boot REST Example

讓我們運(yùn)行該應(yīng)用程序。

步驟15: 打開(kāi) SpringBootRestExampleApplication.java 文件并以Java 應(yīng)用程序。默認(rèn)情況下,它運(yùn)行在端口 8080 上。

SpringBootRestExampleApplication.java

package com.nhooo;
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);
    }
}

當(dāng)應(yīng)用程序成功運(yùn)行時(shí),它將顯示消息,如下所示

Spring Boot REST示例

步驟16: 打開(kāi)瀏覽器并調(diào)用 URL http://localhost:8080/index.html。它顯示了 獲取所有產(chǎn)品的鏈接,如下圖所示。

Spring Boot REST示例

單擊鏈接 獲取所有產(chǎn)品。它以 JSON 格式返回產(chǎn)品列表,并且URL更改為http://localhost:8080/product。

Spring Boot REST示例