feat: upgrade user management demo
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user