๐ฝ๏ธ ๋ง์ง ๊ด๋ฆฌ API ์ค๊ณ & Mock ์๋ฒ ์ฐ๋ ๊ณผ์ ํ๊ณ
์ค๋์ ๋ง์ง ๊ด๋ฆฌ API๋ฅผ ์ค๊ณํ๊ณ , Mock ์๋ฒ์ ํ๋ก ํธ์๋๋ฅผ ์ฐ๋ํด๋ณด๋ ๊ณผ์ ๋ฅผ ์งํํ๋ค.
์ด๋ฒ ๊ณผ์ ์ ํต์ฌ์ ๋จ์ํ API๋ฅผ ์ ์ํ๋ ๋ฐ ๊ทธ์น์ง ์๊ณ ,
์ค์ ์๋น์ค์์ ์ฌ์ฉ ์ค์ธ API๋ฅผ ๋ถ์ → ์ด๋ฅผ ๋ฐํ์ผ๋ก API๋ฅผ ์ค๊ณ → Mock ์๋ฒ๋ก ๊ฒ์ฆ → ํ๋ก ํธ์๋๊น์ง ์ฐ๊ฒฐํ๋
์ ์ฒด ํ๋ฆ์ ์ง์ ๊ฒฝํํด๋ณด๋ ๊ฒ์ด์๋ค.
๊ฐ์๋ฅผ ํตํด ์น ํ๋ก์ ํธ์ ํ๋ฆ์ ๊ฐ๋
์ ์ผ๋ก ์ดํดํ๋ค๋ฉด,
์ค๋์ ๊ทธ ๊ฐ๋
๋ค์ ์ค์ ํ๋ฉด, ์์ฒญ๊ณผ ์๋ต, ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๋ก ํ๋์ฉ ์ฐ๊ฒฐํด๋ณธ ๋ ์ด์๋ค.
โ ํ์ ๊ธฐ๋ฅ (1) API ์๋ณํ๊ธฐ – ์ค์ ์๋น์ค API ๋ถ์
๊ณผ์ ์ ์ฒซ ๋จ๊ณ๋ ์ค์ ์๋น์ค์ API๋ฅผ ์ง์ ํ์ธํ๋ ๊ฒ์ด์๋ค.
์นด์นด์ค๋งต์์ ๋ช
๋๊ต์ ๋ณธ์ ์์ธ ํ์ด์ง์ ์ ์ํ ๋ค,
๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ์ Network ํญ์ ํตํด ํด๋น ํ๋ฉด์ ๊ตฌ์ฑํ๋ API ์์ฒญ์ ํ๋์ฉ ์ดํด๋ดค๋ค.
์ฒ์ Network ํญ์ ์ด์์ ๋๋ ์์ฒญ์ด ๋๋ฌด ๋ง์
์ด๋ค API๊ฐ ์ค์ ๋ก ํ๋ฉด์ ์ฌ์ฉ๋๋ ๊ฒ์ธ์ง ๊ตฌ๋ถํ๋ ๊ฒ๋ถํฐ ์ฝ์ง ์์๋ค.
๊ทธ๋์ ๋ฌด์์ URL๋ง ๋ณด๋ ๋์ ,
Preview์ Response ํญ์ ๋ฒ๊ฐ์ ๋ณด๋ฉฐ ํ๋ฉด์ ํ์๋๋ ๋ฐ์ดํฐ์ ๋น๊ตํ๋ฉด์
ํ์ํ ์์ฒญ์ ํ๋์ฉ ์ถ๋ ค๋๋ค.
๊ทธ์ค ์ฅ์ ์์ธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์์ฒญ์ ๋ค์๊ณผ ๊ฐ์ ํํ์๋ค.
- Method: GET
- URL:
- https://place-api.map.kakao.com/places/panel3/10332413
- Status Code: 200 OK
- Content-Type: application/json
์ด API๋ Request Body ์์ด
URL ๊ฒฝ๋ก์ ํฌํจ๋ ์ฅ์ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ฒญ์ ๋ฐ๊ณ ,
์ฅ์ ์ด๋ฆ, ์ฃผ์, ์ ํ๋ฒํธ, ์นดํ
๊ณ ๋ฆฌ, ํ์ ๋ฑ์ ์ ๋ณด๋ฅผ
JSON ํํ๋ก ์๋ตํ๊ณ ์์๋ค.
โ ํ์ ๊ธฐ๋ฅ (2) API ๋ช ์ธ์ ๋ง๋ค๊ธฐ
(๋ฑ๋ก / ์ ์ฒด ์กฐํ / ์ญ์ )
์ค์ ์๋น์ค API ๊ตฌ์กฐ๋ฅผ ํ์ธํ ๋ค,
์ด๋ฅผ ์ฐธ๊ณ ํด ๋ง์ง ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ํ API ๋ช
์ธ์๋ฅผ ์ง์ ์์ฑํ๋ค.
์ค๊ณํ API๋ ๋ค์๊ณผ ๊ฐ๋ค.
- POST /places – ๋ง์ง ๋ฑ๋ก
- GET /places – ๋ง์ง ์ ์ฒด ์กฐํ
- DELETE /places/{id} – ๋ง์ง ์ญ์

๊ฐ API์ ๋ํด
Method, URL, Request Body, Response Body, Status Code๋ฅผ
๋ช
์ธ์ ํํ๋ก ํ๋์ฉ ์ ๋ฆฌํ๋ค.
์ด ๊ณผ์ ์์ ๊ฐ์ฅ ๊ณ ๋ฏผํ๋ ๋ถ๋ถ์
์๋ต์ ์ด๋๊น์ง ์ ์ํด์ผ ํ๋๊ฐ์๋ค.
ํนํ DELETE API์ ๊ฒฝ์ฐ,
์ญ์ ํ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ฐํํด์ผ ํ๋์ง ํท๊ฐ๋ ธ๋ค.
์ ๋ฆฌํด๋ณด๋,
์ญ์ ๊ฐ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์์ ํํํ ๋๋
204 No Content ์ํ ์ฝ๋๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๋ ์ ์ ์ดํดํ๊ฒ ๋์๋ค.
๋ช
์ธ์๋ฅผ ์์ฑํ๋ฉด์
“API๋ ์ฝ๋๋ณด๋ค ๋จผ์ ์ ๋ฆฌ๋์ด์ผ ํ๋ ์ฝ์”์ด๋ผ๋ ๋ง์ด
์กฐ๊ธ์ฉ ์๋ฟ๊ธฐ ์์ํ๋ค.
โ ํ์ ๊ธฐ๋ฅ (3) Mock ์๋ฒ ๊ตฌ์ถํ๊ธฐ
์์ฑํ API ๋ช
์ธ์๋ฅผ ๋ฐํ์ผ๋ก
Postman์ ์ด์ฉํด Mock ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ค.
์งํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- Postman Collection ์์ฑ
- ๊ฐ API ์์ฒญ์ Example ์๋ต ์ถ๊ฐ
- Mock ์๋ฒ ์์ฑ
- baseURL ์ค์
- POST / GET / DELETE ์์ฒญ ํ ์คํธ
์ด ๊ณผ์ ์์ ๊ฐ์ฅ ๋ง์ด ๋งํ๋ ๋ถ๋ถ์
Example ์๋ต์ ์ถ๊ฐํ์ง ์์ผ๋ฉด Mock ์๋ฒ๊ฐ ์๋ต์ ์ฃผ์ง ์๋๋ค๋ ์ ์ด์๋ค.
์ฒ์์๋ Mock ์๋ฒ๊ฐ ์ค์ ์๋ฒ์ฒ๋ผ
์์ฒญ์ ๋ฐ์ผ๋ฉด ์๋์ผ๋ก ์๋ตํด์ค ๊ฒ์ด๋ผ ์๊ฐํ์ง๋ง,
Mock ์๋ฒ๋ ๋ฏธ๋ฆฌ ์ ์๋ ์์ฒญ๊ณผ Example ์๋ต์ด ์ ํํ ์ผ์นํด์ผ๋ง
์๋ต์ ๋ฐํํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
๋ ์์ฒญ์ ๋ณด๋๋๋ฐ ๊ณ์ 404 ์๋ฌ๊ฐ ๋ฐ์ํด
ํ์ธํด๋ณด๋,
Collection์ ์ ์ํ ๊ฒฝ๋ก์ ์ค์ ์์ฒญ ๊ฒฝ๋ก๊ฐ
์กฐ๊ธ์ด๋ผ๋ ๋ค๋ฅด๋ฉด ์๋ต์ด ์ค์ง ์๋ ๊ฒฝ์ฐ๋ ์์๋ค.
์ด๋ฐ ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์ผ๋ฉฐ
Mock ์๋ฒ๋ ๋จ์ํ ๊ฐ์ง ์๋ฒ๊ฐ ์๋๋ผ,
์์ฒญ๊ณผ ์๋ต ํ๋ฆ์ ๊ฒ์ฆํ๊ธฐ ์ํ ๋๊ตฌ๋ผ๋ ์ ์ ํ์คํ ์ดํดํ๊ฒ ๋๋ค.
๐ ๋์ ๊ธฐ๋ฅ (1) v0๋ก ํ๋ก ํธ์๋ ๊ตฌํํ๊ธฐ
๋์ ๊ณผ์ ๋ก v0๋ฅผ ํ์ฉํด Mock ์๋ฒ์ ํต์ ํ๋ ๋ง์ง ๊ด๋ฆฌ ํ๋ก ํธ์๋๋ฅผ ์์ฑํ๋ค.
v0๋ก ์์ฑํ ํ๋ก ํธ์๋๋ฅผ ๋ก์ปฌ ํ๊ฒฝ์์ ์คํํ์ ๋,
์ฒ์๋ถํฐ ์ ์์ ์ผ๋ก ๋์ํ์ง๋ ์์๋ค.
Tailwind์ shadcn ๊ด๋ จ ์ค์ ์ด
๋ก์ปฌ ํ๊ฒฝ๊ณผ ๋ง์ง ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ,
์ค์ ํ์ผ์ ํ๋์ฉ ํ์ธํ๋ฉฐ ๋ถํ์ํ ์ฐธ์กฐ๋ฅผ ์ ๊ฑฐํด์ผ ํ๋ค.
์ด ๊ณผ์ ์ ํตํด
AI๊ฐ ์์ฑํ ์ฝ๋๋ผ๋ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ,
๋ด๊ฐ ์ดํดํ๊ณ ์คํ ํ๊ฒฝ์ ๋ง๊ฒ ์์ ํด์ผ ํ๋ค๋ ์ ์ ๋ค์ ํ ๋ฒ ๋๊ผ๋ค.

๐ ๋์ ๊ธฐ๋ฅ (2) ํ๋ก ํธ์๋์ Mock ์๋ฒ ์ฐ๋
ํ๋ก ํธ์๋๋ฅผ ์คํํ ๋ค,
Mock ์๋ฒ์ baseURL์ ์ฐ๊ฒฐํด ์ค์ ๋ก ์์ฒญ์ด ์ค๊ฐ๋์ง ํ์ธํ๋ค.
ํ๋ก ํธ์๋๋ ๋ค์๊ณผ ๊ฐ์ ํ๋ฆ์ผ๋ก ๋์ํ๊ณ ์์๋ค.
- ํ์ด์ง ๋ก๋ ์ GET /places ์์ฒญ
- ๋ง์ง ๋ฑ๋ก ์ POST /places ์์ฒญ
- ์ญ์ ๋ฒํผ ํด๋ฆญ ์ DELETE /places/{id} ์์ฒญ
Mock ์๋ฒ๊ฐ ๋ฏธ๋ฆฌ ์ ์๋ Example ์๋ต์ ๋ฐํํ๋ฉด,
ํ๋ก ํธ์๋๋ ๊ทธ ์๋ต์ ๊ธฐ์ค์ผ๋ก ํ๋ฉด์ ๊ฐฑ์ ํ๊ณ ์์๋ค.
์ด ๊ณผ์ ์ ํตํด
ํ๋ก ํธ์๋๋ ์๋ฒ ๋ด๋ถ ๊ตฌํ์ ๋ชฐ๋ผ๋,
API ๋ช
์ธ์ ์๋ต๋ง ์์ผ๋ฉด ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค๋ ์ ์ด ๋ช
ํํด์ก๋ค.
โ ๏ธ ์คํ ์ค ๊ฒช์ ๋ฌธ์ ๋ค
- ํ๋ฉด์ ๋จ์ง๋ง ๊ณ์ ๋ก๋ฉ ์ํ๋ก ๋ฉ์ถ๋ ๋ฌธ์
- Mock ์๋ฒ ์๋ต์ด ์ค์ง ์์ Network ํญ์ผ๋ก ์์ฒญ ์ง์ ํ์ธ
- Mock ์๋ฒ๋ ์ํ๋ฅผ ์ ์ฅํ์ง ์์ ๋ฐ์ดํฐ๊ฐ ์ค์ ๋ก ๋ณ๊ฒฝ๋์ง ์๋ ์
์ฌ๋ฌ ๋ฒ ์์ฒญ์ ๋ณด๋ด๊ณ ์ง์ ํ์ธํ๋ฉด์,
Mock ์๋ฒ์ ์ค์ ๋ฐฑ์๋ ์๋ฒ์ ์ฐจ์ด๋ฅผ
๊ฐ๋
์ด ์๋ ๊ฒฝํ์ผ๋ก ์ดํดํ๊ฒ ๋์๋ค.
๐ ์ค๋์ ์ ๋ฆฌ
- API๋ ํ๋ก ํธ์๋์ ์๋ฒ๋ฅผ ์ฐ๊ฒฐํ๋ ์ฝ์์ด๋ค
- Mock ์๋ฒ๋ ํ์ ๊ณผ ์ด๊ธฐ ๊ฐ๋ฐ์ ์ํ ๊ฒ์ฆ ๋๊ตฌ๋ค
- ํ๋ก ํธ์๋๋ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต์ ๋ฐ์ ํ๋ฉด์ ๊ทธ๋ฆฐ๋ค
- ๋ฐฑ์๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๋ค
์ด๋ฒ ๊ณผ์ ๋ฅผ ํตํด
์ค์ ์๋น์ค API ๋ถ์ → API ์ค๊ณ → Mock ์๋ฒ ๊ตฌ์ถ → ํ๋ก ํธ์๋ ์ฐ๋์ด๋ผ๋
์น ํ๋ก์ ํธ ํ ์ฌ์ดํด์ ์ฒ์๋ถํฐ ๋๊น์ง ์ง์ ๊ฒฝํํ ์ ์์๋ค.
์ค๊ฐ์ค๊ฐ ๋งํ๋ ๋ถ๋ถ๋ ๋ง์์ง๋ง,
๊ทธ ๊ณผ์ ๋๋ถ์
๊ฐ๋
์ผ๋ก๋ง ์๊ณ ์๋ ๋ด์ฉ๋ค์ด ์ค์ ํ๋ฆ์ผ๋ก ์ฐ๊ฒฐ๋๊ธฐ ์์ํ๋ค.
'๐ฅ ๋ด์ผ๋ฐฐ์์บ ํ > ๐ ๊ณผ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋ด์ผ๋ฐฐ์์บ ํ Spring_3๊ธฐ] CH2 ์ปค๋จธ์ค ๊ณผ์ Step2 (0) | 2026.01.28 |
|---|---|
| [๋ด์ผ๋ฐฐ์์บ ํ Spring_3๊ธฐ] CH2 ์ปค๋จธ์ค ๊ณผ์ Step1 (0) | 2026.01.28 |
| [๋ด์ผ๋ฐฐ์์บ ํ Spring_3๊ธฐ] CH2 ๊ณ์ฐ๊ธฐ๊ณผ์ Step3 (0) | 2026.01.27 |
| [๋ด์ผ๋ฐฐ์์บ ํ Spring_3๊ธฐ] CH2 ๊ณ์ฐ๊ธฐ ๊ณผ์ Step2 (0) | 2026.01.27 |
| [๋ด์ผ๋ฐฐ์์บ ํ Spring_3๊ธฐ] CH2 ๊ณ์ฐ๊ธฐ ๊ณผ์ Step1 (0) | 2026.01.27 |