1、Spring 入门 CURD 代码:
首先,按照上述步骤创建 User 实体类、UserRepository 接口和 UserController 类。接下来,可以继续完善 UserController 类中的其他 CRUD 方法。
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
// 省略已有的 GET、POST 和 PUT 方法
@GetMapping("/")
public List<User> getAllUsers() {
return userRepository.findAll();
}
// 添加分页功能
@GetMapping("/page")
public Page<User> getUsersByPage(@PageableDefault(size = 10, sort = {"id"}, direction = Sort.Direction.DESC) Pageable pageable) {
return userRepository.findAll(pageable);
}
@DeleteMapping("/{id}")
public ResponseEntity<?> deleteUser(@PathVariable(value = "id") Long userId) {
User user = userRepository.findById(userId)
.orElseThrow(() -> new ResourceNotFoundException("User not found with id: " + userId));
userRepository.delete(user);
return ResponseEntity.ok().build();
}
}
这里添加了 getUsersByPage() 方法,用于按照分页获取用户信息。在删除用户时,返回 ResponseEntity 对象,可以在响应中添加一些附加信息。
2、Ruoyi Vue Read 代码:
首先,在 api/user.js 中添加与用户相关的 API 请求方法:
import request from '@/utils/request'
// 获取用户列表(分页)
export function getUsers(page, size) {
return request({
url: '/users/page',
method: 'get',
params: { page, size }
})
}
// 删除用户
export function deleteUser(id) {
return request({
url: '/users/' + id,
method: 'delete'
})
}
接下来,在 views/user/index.vue 中的代码继续完善用户列表的展示和删除功能:
<template>
<!-- 省略其他代码 -->
<el-row>
<el-button type="danger" size="small" @click="deleteUser(row.id)">删除</el-button>
</el-row>
<!-- 省略其他代码 -->
</template>
<script>
import { getUsers, deleteUser } from '@/api/user'
export default {
// 省略其他代码
methods: {
// 省略其他方法
// 删除用户
deleteUser(id) {
this.$confirm('确认删除该用户吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteUser(id).then(() => {
this.$message.success('删除成功')
// 刷新用户列表
this.getUsers()
})
}).catch(() => {
this.$message.info('已取消删除')
})
}
}
}
</script>
这样,当用户点击删除按钮时会弹出确认对话框,点击确定后发起删除用户的请求,并刷新用户列表。
上述代码示例只是一个简单的参考,逻辑与具体需求和代码结构可能有所不同。你可以根据实际情况进行调整和补充相关代码。