Skip to content

Commit 2a75072

Browse files
authored
Merge pull request #53 from Team-PLAT/docs/#52/swaggerConfig
2 parents 2f5078e + 87e72d8 commit 2a75072

File tree

8 files changed

+91
-2
lines changed

8 files changed

+91
-2
lines changed

src/main/java/com/cabin/plat/domain/address/controller/AddressController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.cabin.plat.domain.member.entity.Member;
77
import com.cabin.plat.global.common.BaseResponse;
88
import io.swagger.v3.oas.annotations.Operation;
9+
import io.swagger.v3.oas.annotations.Parameter;
910
import io.swagger.v3.oas.annotations.tags.Tag;
1011
import lombok.RequiredArgsConstructor;
1112
import org.springframework.web.bind.annotation.*;
@@ -21,7 +22,9 @@ public class AddressController {
2122
@GetMapping("/reverse-geocode")
2223
public BaseResponse<AddressResponse.AddressString> getAddress(
2324
@AuthMember Member member,
25+
@Parameter(description = "위도 값", example = "36.014188")
2426
@RequestParam double latitude,
27+
@Parameter(description = "경도 값", example = "129.325802")
2528
@RequestParam double longitude) {
2629
return BaseResponse.onSuccess(addressService.getAddress(latitude, longitude));
2730
}

src/main/java/com/cabin/plat/domain/address/dto/AddressResponse.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cabin.plat.domain.address.dto;
22

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

56
public class AddressResponse {
@@ -8,6 +9,7 @@ public class AddressResponse {
89
@Builder
910
@AllArgsConstructor
1011
@NoArgsConstructor
12+
@Schema(description = "주소", example = "경상북도 포항시 남구 지곡동")
1113
public static class AddressString {
1214
private String address;
1315
}

src/main/java/com/cabin/plat/domain/member/controller/MemberController.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.cabin.plat.domain.member.service.MemberService;
99
import com.cabin.plat.global.common.BaseResponse;
1010
import io.swagger.v3.oas.annotations.Operation;
11+
import io.swagger.v3.oas.annotations.Parameter;
1112
import io.swagger.v3.oas.annotations.tags.Tag;
1213
import lombok.RequiredArgsConstructor;
1314
import org.springframework.http.MediaType;
@@ -47,7 +48,9 @@ public BaseResponse<MemberResponse.ProfileStreamType> getProfileStreamType(@Auth
4748
@Operation(summary = "유저 스트리밍 계정 선택 (변경)",
4849
description = "회원의 스트리밍 계정 정보를 업데이트합니다. `streamType` 파라미터를 통해 새로운 스트리밍 계정 유형을 전달합니다.")
4950
@PatchMapping("/profile/stream-type")
50-
public BaseResponse<MemberResponse.MemberId> updateStreamType(@AuthMember Member member, @RequestParam StreamType streamType) {
51+
public BaseResponse<MemberResponse.MemberId> updateStreamType(
52+
@AuthMember Member member,
53+
@RequestParam StreamType streamType) {
5154
return BaseResponse.onSuccess(memberService.updateStreamType(member, streamType));
5255
}
5356

src/main/java/com/cabin/plat/domain/member/dto/MemberRequest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cabin.plat.domain.member.dto;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import lombok.Builder;
45
import lombok.Getter;
56

@@ -14,6 +15,7 @@ public class MemberRequest {
1415
@AllArgsConstructor
1516
@NoArgsConstructor
1617
public static class Avatar {
18+
@Schema(description = "아바타 이미지 URL", defaultValue = "https://example.com/avatar.png")
1719
private String avatar;
1820
}
1921

@@ -22,7 +24,10 @@ public static class Avatar {
2224
@AllArgsConstructor
2325
@NoArgsConstructor
2426
public static class MemberSignInByEncryptedUserIdentifier {
27+
@Schema(description = "암호화된 사용자 식별자", defaultValue = "encryptedUserId123")
2528
private String encryptedUserIdentifier;
29+
30+
@Schema(description = "소셜 타입", defaultValue = "APPLE")
2631
private SocialType socialType;
2732
}
2833

@@ -31,8 +36,13 @@ public static class MemberSignInByEncryptedUserIdentifier {
3136
@AllArgsConstructor
3237
@NoArgsConstructor
3338
public static class MemberAppleSocialSignIn {
39+
@Schema(description = "암호화된 사용자 식별자", defaultValue = "encryptedUserId123")
3440
private String encryptedUserIdentifier;
41+
42+
@Schema(description = "사용자 전체 이름", defaultValue = "조플랫")
3543
private String fullName;
44+
45+
@Schema(description = "사용자 이메일", defaultValue = "[email protected]")
3646
private String email;
3747
}
3848

@@ -41,6 +51,7 @@ public static class MemberAppleSocialSignIn {
4151
@AllArgsConstructor
4252
@NoArgsConstructor
4353
public static class MemberNickname {
54+
@Schema(description = "사용자 닉네임", defaultValue = "plat")
4455
private String nickname;
4556
}
4657
}

src/main/java/com/cabin/plat/domain/member/dto/MemberResponse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.cabin.plat.domain.member.dto;
22

33
import com.cabin.plat.domain.member.entity.StreamType;
4+
import io.swagger.v3.oas.annotations.media.Schema;
45
import lombok.AllArgsConstructor;
56
import lombok.Builder;
67
import lombok.Getter;
@@ -11,26 +12,34 @@ public class MemberResponse {
1112
@Getter
1213
@Builder
1314
public static class ProfileInfo {
15+
@Schema(description = "회원의 고유 ID", example = "1")
1416
private Long memberId;
17+
18+
@Schema(description = "회원의 닉네임", example = "plat")
1519
private String nickname;
20+
21+
@Schema(description = "아바타 이미지 URL", example = "https://example.com/avatar.png")
1622
private String avatar;
1723
}
1824

1925
@Getter
2026
@Builder
2127
public static class ProfileStreamType {
28+
@Schema(description = "회원의 스트리밍 계정 타입", example = "APPLE_MUSIC")
2229
private StreamType streamType;
2330
}
2431

2532
@Getter
2633
@Builder
2734
public static class MemberId {
35+
@Schema(description = "회원의 고유 ID", example = "1")
2836
private Long memberId;
2937
}
3038

3139
@Getter
3240
@Builder
3341
public static class Avatar {
42+
@Schema(description = "아바타 이미지 URL", example = "https://example.com/avatar.png")
3443
private String avatar;
3544
}
3645

@@ -50,7 +59,10 @@ public static class MemberSignIn {
5059
@AllArgsConstructor
5160
@NoArgsConstructor
5261
public static class MemberTokens {
62+
@Schema(description = "엑세스 토큰", example = "eyJhbGciOiJIUzI1NiIsInR...")
5363
private String accessToken;
64+
65+
@Schema(description = "리프레시 토큰", example = "eyJhbGciOiJIUzI1NiIsInR...")
5466
private String refreshToken;
5567
}
5668
}

src/main/java/com/cabin/plat/domain/track/controller/TrackController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.cabin.plat.domain.track.service.TrackService;
88
import com.cabin.plat.global.common.BaseResponse;
99
import io.swagger.v3.oas.annotations.Operation;
10+
import io.swagger.v3.oas.annotations.Parameter;
1011
import io.swagger.v3.oas.annotations.tags.Tag;
1112
import lombok.RequiredArgsConstructor;
1213
import org.springframework.web.bind.annotation.*;
@@ -22,9 +23,13 @@ public class TrackController {
2223
@GetMapping("/map")
2324
public BaseResponse<TrackResponse.TrackMapList> getTracksByLocation(
2425
@AuthMember Member member,
26+
@Parameter(description = "시작 위도 값", example = "36.016512")
2527
@RequestParam double startLatitude,
28+
@Parameter(description = "시작 경도 값", example = "129.321285")
2629
@RequestParam double startLongitude,
30+
@Parameter(description = "끝 위도 값", example = "36.012527")
2731
@RequestParam double endLatitude,
32+
@Parameter(description = "끝 경도 값", example = "129.328229")
2833
@RequestParam double endLongitude) {
2934
return BaseResponse.onSuccess(trackService.getTracksByLocation(
3035
member,

src/main/java/com/cabin/plat/domain/track/dto/TrackRequest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.cabin.plat.domain.track.dto;
22

3+
import io.swagger.v3.oas.annotations.Parameter;
4+
import io.swagger.v3.oas.annotations.media.Schema;
35
import lombok.*;
46

57
public class TrackRequest {
@@ -17,10 +19,19 @@ public static class TrackLike {
1719
@AllArgsConstructor
1820
@NoArgsConstructor
1921
public static class TrackUpload {
22+
@Schema(description = "isrc", defaultValue = "BRBMG0300729")
2023
private String isrc;
24+
25+
@Schema(description = "트랙 이미지 URL", defaultValue = "https://example.com/track.png")
2126
private String imageUrl;
27+
28+
@Schema(description = "트랙 게시물 본문", defaultValue = "트랙 게시물 본문입니다.")
2229
private String content;
30+
31+
@Schema(description = "트랙 위도 값", defaultValue = "36.014188")
2332
private double latitude;
33+
34+
@Schema(description = "트랙 경도 값", defaultValue = "129.325802")
2435
private double longitude;
2536
}
2637
}

src/main/java/com/cabin/plat/domain/track/dto/TrackResponse.java

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
package com.cabin.plat.domain.track.dto;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import java.time.LocalDateTime;
45
import java.util.List;
56
import lombok.*;
67

7-
public class TrackResponse {
8+
public class TrackResponse {
89

910
@Getter
1011
@Builder
1112
@AllArgsConstructor
1213
@NoArgsConstructor
1314
public static class TrackMapList {
15+
@Schema(description = "트랙 리스트")
1416
private List<TrackMap> tracks;
1517
}
1618

@@ -19,6 +21,7 @@ public static class TrackMapList {
1921
@AllArgsConstructor
2022
@NoArgsConstructor
2123
public static class TrackDetailList {
24+
@Schema(description = "트랙 디테일 리스트")
2225
private List<TrackDetail> trackDetails;
2326
}
2427

@@ -28,10 +31,19 @@ public static class TrackDetailList {
2831
@NoArgsConstructor
2932
@EqualsAndHashCode
3033
public static class TrackMap {
34+
@Schema(description = "트랙 고유 ID", example = "1")
3135
private Long trackId;
36+
37+
@Schema(description = "트랙 ISRC 코드", example = "isrc2")
3238
private String isrc;
39+
40+
@Schema(description = "트랙의 위도", example = "36.015733")
3341
private Double latitude;
42+
43+
@Schema(description = "트랙의 경도", example = "129.322700")
3444
private Double longitude;
45+
46+
@Schema(description = "좋아요 여부", example = "false")
3547
private Boolean isLiked;
3648
}
3749

@@ -40,17 +52,40 @@ public static class TrackMap {
4052
@AllArgsConstructor
4153
@NoArgsConstructor
4254
public static class TrackDetail {
55+
@Schema(description = "트랙 고유 ID", example = "1")
4356
private Long trackId;
57+
58+
@Schema(description = "트랙 ISRC 코드", example = "BRBMG0300729")
4459
private String isrc;
60+
61+
@Schema(description = "트랙 생성일", example = "2024-09-07T17:40:43.049879")
4562
private LocalDateTime createdAt;
63+
64+
@Schema(description = "트랙의 위도", example = "36.014188")
4665
private Double latitude;
66+
67+
@Schema(description = "트랙의 경도", example = "129.325802")
4768
private Double longitude;
69+
70+
@Schema(description = "건물 이름", example = "포항공대제1융합관")
4871
private String buildingName;
72+
73+
@Schema(description = "주소", example = "경상북도 포항시 남구 지곡동")
4974
private String address;
75+
76+
@Schema(description = "트랙 이미지 URL", example = "https://example.com/track.png")
5077
private String imageUrl;
78+
79+
@Schema(description = "트랙 내용", example = "트랙 게시물 본문입니다.")
5180
private String content;
81+
82+
@Schema(description = "좋아요 수", example = "12")
5283
private int likeCount;
84+
85+
@Schema(description = "좋아요 여부", example = "false")
5386
private Boolean isLiked;
87+
88+
@Schema(description = "작성자 정보")
5489
private MemberInfo member;
5590
}
5691

@@ -59,8 +94,13 @@ public static class TrackDetail {
5994
@AllArgsConstructor
6095
@NoArgsConstructor
6196
public static class MemberInfo {
97+
@Schema(description = "회원 고유 ID", example = "1")
6298
private Long memberId;
99+
100+
@Schema(description = "회원 닉네임", example = "plat")
63101
private String memberNickname;
102+
103+
@Schema(description = "회원 아바타 이미지 URL", example = "https://example.com/avatar.png")
64104
private String avatar;
65105
}
66106

@@ -69,6 +109,7 @@ public static class MemberInfo {
69109
@AllArgsConstructor
70110
@NoArgsConstructor
71111
public static class TrackId {
112+
@Schema(description = "트랙 고유 ID", example = "1")
72113
private Long trackId;
73114
}
74115

@@ -77,6 +118,7 @@ public static class TrackId {
77118
@AllArgsConstructor
78119
@NoArgsConstructor
79120
public static class ReportId {
121+
@Schema(description = "리포트 고유 ID", example = "100")
80122
private Long reportId;
81123
}
82124
}

0 commit comments

Comments
 (0)