发表于: 2025-06-14 20:26:35
0 24
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
UserController
package org.example.controller;
import org.example.model.ApiResponse;
import org.example.model.TreeNode;
import org.example.model.User;
import org.example.service.UserService;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequestMapping("/api/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
/**
* 获取完整树形结构
*/
@GetMapping("/tree")
public ApiResponse<List<TreeNode>> getFullTree() {
return ApiResponse.success(userService.buildTree());
}
/**
* 获取指定节点的子节点树
* @param pid 父节点ID
*/
@GetMapping("/{pid}/children")
public ApiResponse<List<TreeNode>> getChildrenTree(@PathVariable Long pid) {
return ApiResponse.success(userService.getChildrenTree(pid));
}
/**
* 根据名称查询用户
* @param name 用户名
*/
@GetMapping("/search")
public ApiResponse<User> getUserByName(@RequestParam String name) {
return ApiResponse.success(userService.getByName(name));
}
/**
* 获取所有用户列表(平铺结构)
*/
@GetMapping
public ApiResponse<List<User>> getAllUsers() {
return ApiResponse.success(userService.getAll());
}
/**
* 创建新用户
* @param user 用户数据
*/
@PostMapping
public ApiResponse<Long> createUser(@RequestBody @Valid User user) {
return ApiResponse.success(userService.create(user));
}
/**
* 更新用户信息
* @param id 用户ID
* @param user 更新后的用户数据
*/
@PutMapping("/{id}")
public ApiResponse<Boolean> updateUser(
@PathVariable Long id,
@RequestBody @Valid User user) {
user.setId(id); // 确保ID一致性
return ApiResponse.success(userService.update(user));
}
/**
* 删除用户
* @param id 用户ID
*/
@DeleteMapping("/{id}")
public ApiResponse<Boolean> deleteUser(@PathVariable Long id) {
return ApiResponse.success(userService.deleteById(id));
}
}
明天计划的事情:(一定要写非常细致的内容)
遇到的问题:(遇到什么困难,怎么解决的)
收获:(通过今天的学习,学到了什么知识)
评论