UserController.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. package com.campus.trade.controller;
  2. import com.campus.trade.common.Result;
  3. import com.campus.trade.dto.UserProfileRequest;
  4. import com.campus.trade.service.UserService;
  5. import com.campus.trade.vo.UserProfileVO;
  6. import io.swagger.v3.oas.annotations.Operation;
  7. import io.swagger.v3.oas.annotations.tags.Tag;
  8. import jakarta.servlet.http.HttpSession;
  9. import jakarta.validation.Valid;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.http.MediaType;
  12. import org.springframework.web.bind.annotation.*;
  13. @RestController
  14. @RequestMapping("/user")
  15. @Tag(name = "Users", description = "个人资料管理")
  16. public class UserController {
  17. @Autowired
  18. private UserService userService;
  19. @Operation(summary = "获取个人资料")
  20. @GetMapping("/profile")
  21. public Result<UserProfileVO> profile(HttpSession session) {
  22. return Result.success(userService.getProfile(session));
  23. }
  24. @Operation(summary = "修改个人资料", description = "支持修改昵称、个性签名、头像")
  25. @PutMapping(value = "/profile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  26. public Result<UserProfileVO> updateProfile(@Valid UserProfileRequest req, HttpSession session) {
  27. return Result.success(userService.updateProfile(req, session));
  28. }
  29. }