springboot+vue前后端通过get请求传两个参数
时间: 2023-07-31 21:04:36 浏览: 70
好的,对于这个问题,可以参考以下步骤:
1. 在前端使用 Vue 发起 GET 请求,传递两个参数,例如:
```javascript
axios.get('/api/data', {params: {param1: 'value1', param2: 'value2'}})
.then(response => {
console.log(response.data)
})
```
2. 在后端基于 Spring Boot 创建一个控制器(Controller),处理这个请求,例如:
```java
@RestController
@RequestMapping("/api")
public class DataController {
@GetMapping("/data")
public String getData(@RequestParam("param1") String param1, @RequestParam("param2") String param2) {
// 处理请求,例如查询数据库等
return "Result: " + param1 + ", " + param2;
}
}
```
这里使用了 @RequestParam 注解来获取前端传递过来的参数,返回的结果会被序列化为 JSON 数据并返回给前端。
注意:路径、参数名、参数类型需要根据实际情况进行修改。
相关问题
springboot+mybatisplus+vue怎么在一个页面显示两个表
在Spring Boot + Mybatis Plus + Vue的组合中,你可以通过以下步骤来在一个页面显示两个表:
1. 在后端Java代码中,使用Mybatis Plus的Mapper接口操作数据库来查询两个表的数据,然后将数据以JSON格式返回给前端Vue页面。
2. 在前端Vue页面中,通过Vue的异步组件和axios库来发送请求,获取后端返回的数据,然后使用Vue的模板语法和数据绑定来渲染页面,显示两个表的数据。
下面是一个简单的示例代码:
在Java代码中,使用Mybatis Plus的Mapper接口操作数据库来查询两个表的数据:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Autowired
private UserMapper userMapper;
@Autowired
private RoleMapper roleMapper;
@Override
public List<UserRoleVO> getUserRoleList() {
List<UserRoleVO> userRoleList = new ArrayList<>();
List<User> userList = userMapper.selectList(null);
for (User user : userList) {
UserRoleVO userRoleVO = new UserRoleVO();
BeanUtils.copyProperties(user, userRoleVO);
Role role = roleMapper.selectById(user.getRoleId());
userRoleVO.setRoleName(role.getRoleName());
userRoleList.add(userRoleVO);
}
return userRoleList;
}
}
```
在前端Vue页面中,使用异步组件和axios库来发送请求,获取后端返回的数据:
```vue
<template>
<div>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Role</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in userRoleList" :key="index">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>{{item.roleName}}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: 'UserList',
data () {
return {
userRoleList: []
}
},
created () {
this.getUserRoleList()
},
methods: {
getUserRoleList () {
axios.get('/api/userRoleList').then(response => {
this.userRoleList = response.data
}).catch(error => {
console.log(error)
})
}
}
}
</script>
```
在这个示例中,我们通过Java代码实现了查询用户信息和用户角色信息的逻辑,并将查询结果转换为`UserRoleVO`对象列表返回给前端。然后在前端Vue页面中,我们通过异步组件和axios库发送请求,获取后端返回的`UserRoleVO`对象列表,并使用Vue的模板语法和数据绑定来渲染页面,显示用户信息和用户角色信息的表格。
给我生成一个springboot + vue 的背单词的系统
好的,下面是一个简单的 Spring Boot + Vue 的背单词系统:
1. 创建一个 Spring Boot 项目,添加以下依赖:
```
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
```
2. 创建一个单词实体类 Word,包含单词和解释两个属性。
```
@Entity
public class Word {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String word;
private String definition;
}
```
3. 创建一个 WordRepository 接口,继承 JpaRepository<Word, Long> 接口。
```
public interface WordRepository extends JpaRepository<Word, Long> {
}
```
4. 创建一个 WordService 类,实现添加单词、查询所有单词和删除单词的功能。
```
@Service
public class WordService {
@Autowired
private WordRepository wordRepository;
public void addWord(Word word) {
wordRepository.save(word);
}
public List<Word> getAllWords() {
return wordRepository.findAll();
}
public void deleteWord(Long id) {
wordRepository.deleteById(id);
}
}
```
5. 创建一个 WordsController 类,处理单词的添加、查询和删除请求。
```
@RestController
@RequestMapping("/api/words")
public class WordsController {
@Autowired
private WordService wordService;
@PostMapping
public void addWord(@RequestBody Word word) {
wordService.addWord(word);
}
@GetMapping
public List<Word> getAllWords() {
return wordService.getAllWords();
}
@DeleteMapping("/{id}")
public void deleteWord(@PathVariable Long id) {
wordService.deleteWord(id);
}
}
```
6. 创建一个 Vue 项目,使用 axios 发送请求,实现添加、查询和删除单词的功能。
```
<template>
<div>
<h1>背单词系统</h1>
<form @submit.prevent="addWord">
<label>
单词:
<input v-model="word.word" required />
</label>
<label>
解释:
<input v-model="word.definition" required />
</label>
<button type="submit">添加</button>
</form>
<ul>
<li v-for="word in words" :key="word.id">
{{ word.word }}:{{ word.definition }}
<button @click="deleteWord(word.id)">删除</button>
</li>
</ul>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
word: {
word: '',
definition: '',
},
words: [],
};
},
mounted() {
this.getWords();
},
methods: {
addWord() {
axios.post('/api/words', this.word).then(() => {
this.word.word = '';
this.word.definition = '';
this.getWords();
});
},
getWords() {
axios.get('/api/words').then(response => {
this.words = response.data;
});
},
deleteWord(id) {
axios.delete(`/api/words/${id}`).then(() => {
this.getWords();
});
},
},
};
</script>
```
7. 启动 Spring Boot 项目和 Vue 项目,即可使用背单词系统。