【wiki知识库】04.SpringBoot后端实现电子书的增删改查以及前端界面的展示
由于篇幅限制,这里仅展示如何实现电子书的增删改查功能的后端部分代码。前端代码展示需要通过一个独立的问题来提供。
// 引入相关依赖
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import java.util.List;
@RestController
@RequestMapping("/api/ebooks")
public class EbookController {
@Autowired
private EbookService ebookService;
// 获取所有电子书
@GetMapping
public List<Ebook> getAllEbooks() {
return ebookService.findAll();
}
// 获取分页电子书
@GetMapping("/page")
public Page<Ebook> getEbooksPage(@RequestParam int page, @RequestParam int size) {
Pageable pageable = PageRequest.of(page, size);
return ebookService.findAll(pageable);
}
// 根据ID查询电子书
@GetMapping("/{id}")
public Ebook getEbookById(@PathVariable(value = "id") Long ebookId) {
return ebookService.findById(ebookId);
}
// 添加电子书
@PostMapping
public Ebook createEbook(@RequestBody Ebook ebook) {
return ebookService.save(ebook);
}
// 更新电子书
@PutMapping("/{id}")
public Ebook updateEbook(@PathVariable(value = "id") Long ebookId, @RequestBody Ebook ebookDetails) {
Ebook currentEbook = ebookService.findById(ebookId);
if (ebookDetails.getTitle() != null)
currentEbook.setTitle(ebookDetails.getTitle());
if (ebookDetails.getAuthor() != null)
currentEbook.setAuthor(ebookDetails.getAuthor());
// ... 更新其他字段
return ebookService.save(currentEbook);
}
// 删除电子书
@DeleteMapping("/{id}")
public void deleteEbook(@PathVariable(value = "id") Long ebookId) {
ebookService.deleteById(ebookId);
}
}
在这个代码示例中,我们定义了一个EbookController
类,它使用EbookService
来实现电子书的增删改查操作。这里的@RestController
和@RequestMapping
注解用于定义控制器和路由信息,而@GetMapping
, @PostMapping
, @PutMapping
, 和@DeleteMapping
注解分别用于定义对应HTTP方法的路由处理。代码中的Pageable
对象用于实现分页功能。
请注意,这个示例假设你已经有一个Ebook
实体类和EbookService
服务接口,以及相应的实现类。在实际应用中,你需要根据自己的实体类和服务接口来调整代码。
评论已关闭