feat: upgrade user management demo

This commit is contained in:
Codex
2026-03-18 16:43:04 +08:00
parent e8afe9a5f4
commit 00306082fb
9 changed files with 753 additions and 464 deletions

View File

@@ -2,6 +2,7 @@ package com.example.demo.controller;
import com.example.demo.common.ApiResponse;
import com.example.demo.dto.UserRequest;
import com.example.demo.dto.UserStatsResponse;
import com.example.demo.model.User;
import com.example.demo.service.UserService;
import jakarta.validation.Valid;
@@ -24,31 +25,38 @@ public class UserController {
return ApiResponse.ok(userService.findAll());
}
@GetMapping("/stats")
public ApiResponse<UserStatsResponse> getUserStats() {
return ApiResponse.ok(userService.getStats());
}
@GetMapping("/search")
public ApiResponse<List<User>> searchUsers(@RequestParam(required = false) String keyword,
@RequestParam(required = false) String name) {
String term = keyword != null && !keyword.isBlank() ? keyword : name;
return ApiResponse.ok(userService.search(term));
}
@GetMapping("/{id}")
public ApiResponse<User> getUserById(@PathVariable Long id) {
return ApiResponse.ok(userService.findById(id));
}
@PostMapping
public ApiResponse<User> createUser(@Valid @RequestBody UserRequest req) {
User user = new User(null, req.name(), req.email(), req.age());
return ApiResponse.ok("创建成功", userService.create(user));
public ApiResponse<User> createUser(@Valid @RequestBody UserRequest request) {
User user = new User(null, request.name(), request.email(), request.age());
return ApiResponse.ok("User created successfully", userService.create(user));
}
@PutMapping("/{id}")
public ApiResponse<User> updateUser(@PathVariable Long id, @Valid @RequestBody UserRequest req) {
User user = new User(id, req.name(), req.email(), req.age());
return ApiResponse.ok("更新成功", userService.update(id, user));
public ApiResponse<User> updateUser(@PathVariable Long id, @Valid @RequestBody UserRequest request) {
User user = new User(id, request.name(), request.email(), request.age());
return ApiResponse.ok("User updated successfully", userService.update(id, user));
}
@DeleteMapping("/{id}")
public ApiResponse<Void> deleteUser(@PathVariable Long id) {
userService.delete(id);
return ApiResponse.ok("删除成功", null);
}
@GetMapping("/search")
public ApiResponse<List<User>> searchUsers(@RequestParam String name) {
return ApiResponse.ok(userService.findByName(name));
return ApiResponse.ok("User deleted successfully", null);
}
}