UserController.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.nju.edu.eval.web.controller;
  2. import com.nju.edu.eval.aspect.auth.Authorized;
  3. import com.nju.edu.eval.data.entity.User;
  4. import com.nju.edu.eval.publicdatas.enums.UserRole;
  5. import com.nju.edu.eval.service.UserService;
  6. import com.nju.edu.eval.web.Response;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.GetMapping;
  11. import org.springframework.web.bind.annotation.PathVariable;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import springfox.documentation.annotations.ApiIgnore;
  15. /**
  16. * @author mars
  17. */
  18. @RestController
  19. @RequestMapping(path = "/api/user")
  20. @Api(tags = {"用户信息"})
  21. public class UserController {
  22. private final UserService userService;
  23. @Autowired
  24. public UserController(UserService userService) {
  25. this.userService = userService;
  26. }
  27. @ApiOperation("获得当前用户信息")
  28. @GetMapping("")
  29. @Authorized()
  30. public Response getCurrentUser(@ApiIgnore User user) {
  31. return Response.buildSuccess(userService.getUserById(user.getId()));
  32. }
  33. @ApiOperation("获得报名某次考试的所有学生")
  34. @GetMapping("/{examId}")
  35. @Authorized(roles = {UserRole.ADMIN, UserRole.HR, UserRole.TEACHER})
  36. public Response getUsersByExamId(@PathVariable Integer examId) {
  37. return Response.buildSuccess(userService.getUsersByExamId(examId));
  38. }
  39. @GetMapping("/test")
  40. @Authorized()
  41. public String test(){
  42. return "hello";
  43. }
  44. }