1+ ### 회원가입(HOST)
2+ POST http://localhost:8080/api/v1/auth/signup
3+ Content-Type: application/json
4+
5+ {
6+ 7+ "password" : " Test1234!@#" ,
8+ "nickName" : " Beemo" ,
9+ "phoneNumber" : " 010-1234-5678"
10+ }
11+
12+ > {%
13+ // 응답 구조에 따라 수정 필요
14+ // 예: { "userId": 1, ... } 라면 아래처럼 유지
15+ client.global.set("userId", response.body.data.userId);
16+ %}
17+
18+ ### 로그인
19+ POST http://localhost:8080/api/v1/auth/login
20+ Content-Type: application/json
21+
22+ {
23+ 24+ "password" : " Test1234!@#"
25+ }
26+
27+ > {%
28+ client.global.set("accessToken", response.body.data.accessToken);
29+ %}
30+
31+ ### 1-1. 모임 이미지 선 업로드 (png / jpg 2장)
32+ POST http://localhost:8080/api/v1/groups/images/upload?userId={{userId}}
33+ Content-Type: multipart/form-data; boundary=boundary
34+ Authorization: Bearer {{accessToken}}
35+
36+ --boundary
37+ Content-Disposition: form-data; name="images"; filename="img1.png"
38+ Content-Type: image/png
39+
40+ < ../image/resources/img1.png
41+ --boundary
42+ Content-Disposition: form-data; name="images"; filename="img2.jpg"
43+ Content-Type: image/jpeg
44+
45+ < ../image/resources/img2.jpg
46+ --boundary--
47+
48+ > {%
49+ const images = response.body.data.images;
50+
51+ client.global.set("img0_main", images[0].imageUrl440x240);
52+ client.global.set("img0_thumb", images[0].imageUrl100x100);
53+
54+ client.global.set("img1_main", images[1].imageUrl440x240);
55+ client.global.set("img1_thumb", images[1].imageUrl100x100);
56+ %}
57+
58+ ### 1-2. 모임 생성 (png/jpg 업로드 결과 URL로 생성)
59+ POST http://localhost:8080/api/v1/groups/create?userId={{userId}}
60+ Content-Type: application/json
61+ Authorization: Bearer {{accessToken}}
62+
63+
64+ {
65+ "title" : " 강남에서 하는 자바 스터디 - PNG/JPG 테스트" ,
66+ "location" : " 서울 강남구" ,
67+ "locationDetail" : " 강남역 2번 출구 근처 카페" ,
68+ "startTime" : " 2025-12-10T19:00:00" ,
69+ "tags" : [
70+ " 자바" ,
71+ " 백엔드" ,
72+ " 스터디"
73+ ],
74+ "description" : " PNG/JPG 업로드 후 URL을 이용해서 모임을 생성하는 테스트입니다." ,
75+ "maxParticipants" : 12 ,
76+ "images" : [
77+ {
78+ "sortOrder" : 0 ,
79+ "imageUrl440x240" : " {{img0_main}}" ,
80+ "imageUrl100x100" : " {{img0_thumb}}"
81+ },
82+ {
83+ "sortOrder" : 1 ,
84+ "imageUrl440x240" : " {{img1_main}}" ,
85+ "imageUrl100x100" : " {{img1_thumb}}"
86+ }
87+ ]
88+ }
89+
90+ > {%
91+ // 그룹 ID 저장 (응답 구조에 맞게 조정)
92+ client.global.set("groupId_png_jpg", response.body.data.id);
93+ %}
94+
95+ ### 회원가입(MEMBER 1)
96+ POST http://localhost:8080/api/v1/auth/signup
97+ Content-Type: application/json
98+
99+ {
100+ 101+ "password" : " Test1234!@#" ,
102+ "nickName" : " Heemo" ,
103+ "phoneNumber" : " 010-1234-5678"
104+ }
105+
106+ > {%
107+ // 응답 구조에 따라 수정 필요
108+ // 예: { "userId": 1, ... } 라면 아래처럼 유지
109+ client.global.set("memberId1", response.body.data.userId);
110+ %}
111+
112+ ### 로그인 (MEMBER 1)
113+ POST http://localhost:8080/api/v1/auth/login
114+ Content-Type: application/json
115+
116+ {
117+ 118+ "password" : " Test1234!@#"
119+ }
120+
121+ > {%
122+ client.global.set("accessTokenByMember1", response.body.data.accessToken);
123+ %}
124+
125+ ### 모임 참여 (MEMBER 1)
126+ POST http://localhost:8080/api/v1/groups/{{groupId_png_jpg}}/attend
127+ ? userId = 2
128+ Content-Type: application/json
129+ Authorization: Bearer {{accessTokenByMember1}}
130+
131+ {
132+
133+ }
134+
135+ ### 회원가입(MEMBER 2)
136+ POST http://localhost:8080/api/v1/auth/signup
137+ Content-Type: application/json
138+
139+ {
140+ 141+ "password" : " Test1234!@#" ,
142+ "nickName" : " Qeemo" ,
143+ "phoneNumber" : " 010-1234-5678"
144+ }
145+
146+ > {%
147+ // 응답 구조에 따라 수정 필요
148+ // 예: { "userId": 1, ... } 라면 아래처럼 유지
149+ client.global.set("memberId1", response.body.data.userId);
150+ %}
151+
152+ ### 로그인 (MEMBER 2)
153+ POST http://localhost:8080/api/v1/auth/login
154+ Content-Type: application/json
155+
156+ {
157+ 158+ "password" : " Test1234!@#"
159+ }
160+
161+ > {%
162+ client.global.set("accessTokenByMember2", response.body.data.accessToken);
163+ %}
164+
165+ ### 모임 참여 (MEMBER 2)
166+ POST http://localhost:8080/api/v1/groups/{{groupId_png_jpg}}/attend
167+ ? userId = 3
168+ Content-Type: application/json
169+ Authorization: Bearer {{accessTokenByMember2}}
170+
171+ {
172+
173+ }
174+
175+ ### 모임 취소 (MEMBER 1)
176+ POST http://localhost:8080/api/v1/groups/{{groupId_png_jpg}}/cancel
177+ ? userId = 2
178+ Content-Type: application/json
179+ Authorization: Bearer {{accessTokenByMember1}}
180+
181+ {
182+
183+ }
0 commit comments