UserController.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.nuojing.admin.controller;
  2. import com.nuojing.admin.common.ApiResponse;
  3. import com.nuojing.admin.domain.dto.UserRequest;
  4. import com.nuojing.admin.domain.vo.UserVO;
  5. import com.nuojing.admin.service.UserService;
  6. import lombok.RequiredArgsConstructor;
  7. import org.springframework.web.bind.annotation.DeleteMapping;
  8. import org.springframework.web.bind.annotation.GetMapping;
  9. import org.springframework.web.bind.annotation.PathVariable;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import java.util.List;
  15. @RestController
  16. @RequestMapping("/users")
  17. @RequiredArgsConstructor
  18. public class UserController {
  19. private final UserService userService;
  20. @GetMapping
  21. public ApiResponse<List<UserVO>> list() {
  22. return ApiResponse.ok(userService.list());
  23. }
  24. @GetMapping("/{id}")
  25. public ApiResponse<UserVO> detail(@PathVariable("id") Long id) {
  26. return ApiResponse.ok(userService.detail(id));
  27. }
  28. @PostMapping
  29. public ApiResponse<Void> save(@RequestBody UserRequest request) {
  30. userService.save(request);
  31. return ApiResponse.ok(null);
  32. }
  33. @DeleteMapping("/{id}")
  34. public ApiResponse<Void> delete(@PathVariable("id") Long id) {
  35. userService.delete(id);
  36. return ApiResponse.ok(null);
  37. }
  38. @GetMapping("/{id}/roles")
  39. public ApiResponse<List<Long>> roleIds(@PathVariable("id") Long id) {
  40. return ApiResponse.ok(userService.roleIds(id));
  41. }
  42. }