Skip to content

Commit f4fbe74

Browse files
committed
feature : swagger 추가
1 parent 5f1d471 commit f4fbe74

28 files changed

+132
-46
lines changed

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/request/LogoutRequest.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/request/SigninRequest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.ezcode.codetest.application.usermanagement.auth.dto.request;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import jakarta.validation.constraints.Email;
45
import jakarta.validation.constraints.NotBlank;
56
import jakarta.validation.constraints.Pattern;
@@ -10,12 +11,15 @@
1011
@Getter
1112
@NoArgsConstructor
1213
@AllArgsConstructor
14+
@Schema(description = "로그인 요청")
1315
public class SigninRequest {
1416

17+
@Schema(description = "사용자 이메일 주소", example = "[email protected]")
1518
@NotBlank
1619
@Email(message = "이메일은 공백일 수 없습니다")
1720
private String email;
1821

22+
@Schema(description = "비밀번호 (영문, 숫자, 특수문자 포함 8~20자)", example = "Aa1234**")
1923
@NotBlank(message = "비밀번호는 공백일 수 없습니다.")
2024
@Pattern(
2125
regexp = "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,20}$",

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/request/SignupRequest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.ezcode.codetest.application.usermanagement.auth.dto.request;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import jakarta.validation.constraints.Email;
45
import jakarta.validation.constraints.NotBlank;
56
import jakarta.validation.constraints.Pattern;
@@ -11,30 +12,39 @@
1112
@Getter
1213
@NoArgsConstructor
1314
@AllArgsConstructor
15+
@Schema(description = "회원가입 요청")
1416
public class SignupRequest {
1517

18+
@Schema(description = "유저 이메일", example = "[email protected]")
1619
@NotBlank(message = "이메일은 공백일 수 없습니다")
1720
@Email
1821
private String email;
1922

23+
@Schema(description = "비밀번호 (영문, 숫자, 특수문자 포함 8~20자)", example = "Aa12345**")
2024
@NotBlank(message = "비밀번호는 공백일 수 없습니다.")
2125
@Pattern(
2226
regexp = "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,20}$",
2327
message = "비밀번호는 영문, 숫자, 특수문자를 포함한 8~20자리여야 합니다.")
2428
private String password;
2529

30+
31+
@Schema(description = "비밀번호 확인", example = "Aa12345**")
2632
@NotBlank(message = "비밀번호 확인은 공백일 수 없습니다.")
2733
private String passwordConfirm;
2834

35+
36+
@Schema(description = "사용자 이름 (최대 15자)", example = "홍길동")
2937
@NotBlank(message = "사용자명은 반드시 입력되어야합니다.")
3038
@Size(max = 15, message = "이름은 15글자 이하로 입력 가능합니다")
3139
private String username;
3240

41+
@Schema(description = "사용자 별명 (최대 20자)", example = "다람쥐쳇바퀴에굴러가")
3342
@NotBlank(message = "별명은 반드시 입력되어야합니다")
3443
@Size(max = 20, message = "별명은 20글자 이하로 입력 가능합니다")
3544
private String nickname;
3645

3746
//선택적 입력
47+
@Schema(description = "나이 (선택 입력)", example = "25")
3848
private Integer age;
3949

4050
}

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/response/OAuthResponse.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
package org.ezcode.codetest.application.usermanagement.auth.dto.response;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
5+
@Schema(description = "소셜 로그인 응답")
36
public record OAuthResponse(
7+
@Schema(description = "accessToken")
48
String accessToken,
9+
@Schema(description = "refreshToken")
510
String refreshToken
611
){
712
public static OAuthResponse from(String accessToken, String refreshToken) {

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/response/RefreshTokenResponse.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package org.ezcode.codetest.application.usermanagement.auth.dto.response;
22

3-
public record RefreshTokenResponse (String token) {
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
5+
@Schema(description = "refreshToken 응답")
6+
public record RefreshTokenResponse (
7+
@Schema(description = "생성된 refreshToken")
8+
String token
9+
) {
410
public static RefreshTokenResponse from(String token) {
511
return new RefreshTokenResponse(token);
612
}

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/response/SigninResponse.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
package org.ezcode.codetest.application.usermanagement.auth.dto.response;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34

4-
public record SigninResponse(String accessToken, String refreshToken) {
5+
@Schema(description = "로그인 응답")
6+
public record SigninResponse(
7+
@Schema(description = "생성된 accessToken")
8+
String accessToken,
9+
@Schema(description = "생성된 refreshToken")
10+
String refreshToken) {
511
public static SigninResponse from(String accessToken, String refreshToken) {
612
return new SigninResponse(accessToken, refreshToken);
713
}

src/main/java/org/ezcode/codetest/application/usermanagement/auth/dto/response/SignupResponse.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
package org.ezcode.codetest.application.usermanagement.auth.dto.response;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34

4-
public record SignupResponse(String token) {
5+
@Schema(description = "회원가입 응답")
6+
public record SignupResponse(
7+
@Schema(description = "생성된 token")
8+
String token
9+
) {
510
public static SignupResponse from(String token) {
611
return new SignupResponse(token);
712
}

src/main/java/org/ezcode/codetest/application/usermanagement/auth/service/AuthService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.util.concurrent.TimeUnit;
44

5-
import org.ezcode.codetest.application.usermanagement.auth.dto.request.LogoutRequest;
65
import org.ezcode.codetest.application.usermanagement.auth.dto.response.RefreshTokenResponse;
76
import org.ezcode.codetest.application.usermanagement.auth.dto.request.SigninRequest;
87
import org.ezcode.codetest.application.usermanagement.auth.dto.response.SigninResponse;
@@ -14,7 +13,7 @@
1413
import org.ezcode.codetest.domain.user.model.entity.User;
1514
import org.ezcode.codetest.domain.user.model.enums.AuthType;
1615
import org.ezcode.codetest.domain.user.service.UserDomainService;
17-
import org.ezcode.codetest.common.security.jwt.JwtUtil;
16+
import org.ezcode.codetest.common.security.util.JwtUtil;
1817
import org.springframework.data.redis.core.RedisTemplate;
1918
import org.springframework.stereotype.Service;
2019

src/main/java/org/ezcode/codetest/application/usermanagement/user/dto/request/ChangeUserPasswordRequest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package org.ezcode.codetest.application.usermanagement.user.dto.request;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import jakarta.validation.constraints.NotBlank;
45
import jakarta.validation.constraints.Pattern;
56

7+
@Schema(description = "비밀번호 변경 요청")
68
public record ChangeUserPasswordRequest(
9+
10+
@Schema(description = "기존 비밀번호와 일치해야합니다", example = "Aa1234**")
711
@NotBlank
812
String oldPassword,
913

14+
@Schema(description = "비밀번호 (영문, 숫자, 특수문자 포함 8~20자)", example = "Aa1234**")
1015
@NotBlank(message = "비밀번호는 공백일 수 없습니다.")
1116
@Pattern(
1217
regexp = "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,20}$",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,25 @@
11
package org.ezcode.codetest.application.usermanagement.user.dto.request;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
5+
@Schema(description = "회원 정보 변경 요청")
36
public record ModifyUserInfoRequest(
7+
@Schema(description = "변경할 별명", example = "코딩짱")
48
String nickname,
59

10+
@Schema(description = "GitHub 주소", example = "https://github.com/username")
611
String githubUrl,
712

13+
@Schema(description = "블로그 주소", example = "https://blog.example.com")
814
String blogUrl,
915

16+
@Schema(description = "프로필 이미지 URL", example = "https://cdn.example.com/images/profile.jpg")
1017
String profileImageUrl,
1118

19+
@Schema(description = "자기소개", example = "안녕하세요, 백엔드 개발자입니다.")
1220
String introduction,
1321

22+
@Schema(description = "나이", example = "28")
1423
Integer age
1524
) {
1625
}

0 commit comments

Comments
 (0)