有一段時間沒有寫過博客了矫俺,2020年也沒有認真學習過了,這幾天準備開始走上正規(guī)了,準備做一個項目鞏固并學習一下新知識厘托。今天花了一天的時間學習了一下Vue + Spring Boot快速開發(fā)一個后端項目友雳,因為之前完全沒有接觸過Vue,所以寫篇博客回顧一下Vue的基本用法铅匹。
雖然是來復(fù)習Vue的押赊,但還是先寫后端代碼。
- 實體類Book
@Entity
@Data
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String author;
}
- 寫完實體類包斑,接下來寫我們的DAO層流礁。因為這個項目只要是體驗Vue + Spring Boot的開發(fā)流程,所以邏輯方面比較簡單舰始,JpaRepository里面的方法就足夠我們使用了崇棠。
public interface BookRepository extends JpaRepository<Book, Integer> {
}
- 寫完DAO層,數(shù)據(jù)要與前端交互丸卷,我們開始寫Controller層枕稀。
@RestController
@RequestMapping("/book")
public class BookController {
@Autowired
private BookRepository repository;
/**
* 查詢所有的記錄
* @param page
* @param size
* @return
*/
@GetMapping("/findAll/{page}/{size}")
public Page<Book> findAll(@PathVariable("page") Integer page,
@PathVariable("size") Integer size) {
PageRequest pageRequest = PageRequest.of(page, size);
return repository.findAll(pageRequest);
}
/**
* 通過Id查詢指定記錄
* @param id
* @return
*/
@GetMapping("/findById/{id}")
public Book findById(@PathVariable("id") Integer id) {
return repository.findById(id).get();
}
/**
* 保存一條新的記錄
* @param book
* @return
*/
@PostMapping("/save")
public String save(@RequestBody Book book) {
Book result = repository.save(book);
if (result != null) {
return "success";
}else {
return "error";
}
}
/**
* 修改一條記錄
* @param book
* @return
*/
@PutMapping("/update")
public String update(@RequestBody Book book) {
Book result = repository.save(book);
if (result != null) {
return "success";
}else {
return "error";
}
}
}
- 最后我們需要寫一個配置類來解決Spring Boot跨域問題
public class CrosConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "HEAD", "PUT", "DELETE", "OPTIONS")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
}
好的,后端代碼就這么多谜嫉,很簡單萎坷。剩下的是令我頭痛的Vue代碼。