CatchTheLettersBackend/src/main/java/com/example/catchTheLetters/controller/AuthController.java

70 lines
2.2 KiB
Java
Raw Normal View History

package com.example.catchTheLetters.controller;
2024-04-10 07:03:57 +00:00
import com.example.catchTheLetters.model.dto.LoginDto;
import com.example.catchTheLetters.model.dto.RegisterDto;
import com.example.catchTheLetters.entity.User;
import com.example.catchTheLetters.model.vo.UserVo;
import com.example.catchTheLetters.service.AuthService;
import com.example.catchTheLetters.utils.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* 认证控制器
2024-04-10 07:15:36 +00:00
*
* @author spyn
*/
@RestController
@Slf4j
@Api(tags = "认证API")
@RequestMapping("/auth")
public class AuthController {
@Resource
private AuthService authService;
@ApiOperation(value = "用户登录")
@PostMapping("/login")
public R<String> login(@RequestBody LoginDto loginDto) {
return authService.login(loginDto);
}
@ApiOperation(value = "用户注销")
2024-04-10 10:44:02 +00:00
@GetMapping("/logout")
public R logout(@RequestHeader("token") String token) {
return authService.logout(token) ? R.ok() : R.fail();
}
@ApiOperation(value = "验证token不会返回密码")
2024-04-10 10:44:02 +00:00
@GetMapping("/verify")
public R<User> verify(@RequestHeader("token") String token) {
return R.ok(authService.verify(token));
}
2024-04-09 13:49:20 +00:00
@ApiOperation(value = "用户注册")
@PostMapping("/register")
public R<UserVo> register(@RequestBody RegisterDto registerDto) {
return authService.register(registerDto);
2024-04-09 13:49:20 +00:00
}
@ApiOperation(value = "用户信息查询不会返回密码查不出status为0的用户")
@GetMapping("/info")
@ApiParam(name = "id", value = "用户ID不传就是拿token查自己")
2024-04-10 10:06:01 +00:00
public R<User> info(@RequestParam(required = false) String id, @RequestHeader("token") String token) {
2024-04-10 07:15:36 +00:00
if (id != null) {
return R.ok(authService.getUserInfo(id));
}
return R.ok(authService.verify(token));
}
@ApiOperation(value = "用户信息修改")
@PostMapping("/update")
public R update(@RequestBody User user) {
return null;
}
}