原创

使用 Spring Boot 创建 RESTful Web 服务

温馨提示:
本文最后更新于 2024年07月23日,已超过 253 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用 Spring Boot 创建 RESTful Web 服务

1. 项目初始化

使用 Spring Initializr 快速创建 Spring Boot 项目。

  • 打开 https://start.spring.io/
  • 选择 Spring Boot 版本
  • 添加依赖项:
    • Spring Web
    • Spring Data REST
  • 选择你喜欢的构建工具 (Maven 或者 Gradle)
  • 点击 Generate 下载项目压缩包

2. 创建实体类

```java package com.example.demo;

import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;

@Entity public class Product {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String name;
private double price;

// 省略 getter 和 setter 方法

} ```

3. 创建 REST 控制器

```java package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController public class ProductController {

@Autowired
private ProductService productService;

@GetMapping("/products")
public List<Product> getAllProducts() {
    return productService.getAllProducts();
}

@GetMapping("/products/{id}")
public Product getProductById(@PathVariable Long id) {
    return productService.getProductById(id);
}

@PostMapping("/products")
public Product createProduct(@RequestBody Product product) {
    return productService.createProduct(product);
}

// 省略其他 REST 接口

} ```

4. 创建服务层

```java package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;

import java.util.List;

@Service public class ProductService {

@Autowired
private ProductRepository productRepository;

public List<Product> getAllProducts() {
    return productRepository.findAll();
}

public Product getProductById(Long id) {
    return productRepository.findById(id).orElseThrow(() -> new NotFoundException("产品未找到"));
}

public Product createProduct(Product product) {
    return productRepository.save(product);
}

// 省略其他服务方法

} ```

5. 创建数据访问层

```java package com.example.demo;

import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;

@Repository public interface ProductRepository extends JpaRepository {

} ```

6. 运行应用

使用构建工具运行 Spring Boot 应用。例如,使用 Maven 运行:

bash mvn spring-boot:run

7. 测试 REST 接口

使用工具如 Postman 或 curl 发送 HTTP 请求到 REST 接口地址,例如:

bash curl http://localhost:8080/products

总结

本示例展示了使用 Spring Boot 创建一个简单的 RESTful Web 服务。你可以根据你的需要扩展此服务,添加更多实体类、控制器、服务层和数据访问层。Spring Boot 提供了丰富的功能和灵活性,帮助你快速构建和部署高质量的 Web 应用。

正文到此结束