以下是一个简化的Spring Boot后端和Vue前端分离项目的代码示例。
后端(Spring Boot):
pom.xml
依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
UserController.java
示例:
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping
public List<User> getAllUsers() {
// 模拟数据库查询
return Arrays.asList(new User("1", "Alice"), new User("2", "Bob"));
}
}
User.java
实体类:
public class User {
private String id;
private String name;
// 构造器、getter 和 setter 省略
}
SpringBootApplication.java
启动类:
@SpringBootApplication
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}
前端(Vue + Element UI):
package.json
依赖:
{
"dependencies": {
"element-ui": "^2.13.2",
"vue": "^2.6.11",
"vue-router": "^3.1.5"
}
}
UserList.vue
组件示例:
<template>
<el-table :data="users">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="name" label="Name"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
users: []
};
},
created() {
this.fetchData();
},
methods: {
fetchData() {
// 假设已经配置了axios
axios.get('/api/users')
.then(response => {
this.users = response.data;
})
.catch(error => {
console.error('There was an error!', error);
});
}
}
};
</script>
router.js
Vue路由配置:
import Vue from 'vue';
import Router from 'vue-router';
import UserList from './components/UserList.vue';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/users',
name: 'UserList',
com