spring boot水果表项目
以下是一个使用Spring Boot开发的简单水果表项目的示例:
-
创建一个新的Spring Boot项目。
-
在pom.xml文件中添加所需的依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
- 创建一个名为Fruit的实体类:
@Entity
public class Fruit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// getters and setters
// constructors
}
- 创建一个名为FruitRepository的接口来处理数据库操作:
@Repository
public interface FruitRepository extends JpaRepository<Fruit, Long> {
}
- 创建一个名为FruitController的控制器类来处理HTTP请求:
@RestController
@RequestMapping("/fruits")
public class FruitController {
@Autowired
private FruitRepository fruitRepository;
@GetMapping
public List<Fruit> getAllFruits() {
return fruitRepository.findAll();
}
@PostMapping
public Fruit createFruit(@RequestBody Fruit fruit) {
return fruitRepository.save(fruit);
}
@GetMapping("/{id}")
public Fruit getFruitById(@PathVariable Long id) {
return fruitRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Fruit not found with id: " + id));
}
@PutMapping("/{id}")
public Fruit updateFruit(@PathVariable Long id, @RequestBody Fruit fruitDetails) {
Fruit fruit = fruitRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Fruit not found with id: " + id));
fruit.setName(fruitDetails.getName());
return fruitRepository.save(fruit);
}
@DeleteMapping("/{id}")
public ResponseEntity<?> deleteFruit(@PathVariable Long id) {
Fruit fruit = fruitRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Fruit not found with id: " + id));
fruitRepository.delete(fruit);
return ResponseEntity.ok().build();
}
}
- 启动应用程序并使用Postman或其他HTTP客户端测试API端点。
这是一个简单的使用Spring Boot开发的水果表项目示例。你可以根据自己的需求进行扩展和修改。
原文地址: https://www.cveoy.top/t/topic/i6cA 著作权归作者所有。请勿转载和采集!