데이터 전송 — POST 요청
GET 은 받기. POST 는 만들기. Server 에 데이터 보내는 법을 배워요.
⏱ 예상 ~5분
01 · 읽기
지금까지 GET 만 써왔어요 — 서버에 데이터를 요청하는 거였죠. 하지만 데이터를 보내야 할 때도 있어요: 사용자 만들기, 폼 제출, 댓글 작성 같은 거요.
그게 POST 의 역할이에요.
curl 에서: - -X POST 는 method 를 POST 로 설정해요 - -H "Content-Type: application/json" 은 어떤 형식을 보내는지 서버에 알려요 - -d '{...}' 는 요청 본문이에요 — 보내려는 데이터예요
핵심 정리
- GET = 읽기. POST = 만들기.
- -X POST 는 HTTP method 를 전환해요
- -d '{...}' 는 JSON 본문을 보내요
- JSON 을 보낼 때는 항상 Content-Type: application/json 을 추가해요
02 · 코드 예제
아래는 curl 에서 POST 요청의 구조예요.
JSON 본문이 있는 POST
curl -X POST https://api.example.com/todos \
-H "Content-Type: application/json" \
-d '{"text": "Learn curl", "done": false}'
한 줄씩 봐봐요: -X POST — GET 대신 POST method 사용 -H "Content-Type: application/json" — 본문이 JSON 임을 서버에 알림 -d '...' — 본문 데이터 (안의 큰따옴표가 shell 에 의해 escape 되지 않도록 작은따옴표 사용)
03 · 터미널 실습
먼저 현재 todo 목록을 GET 해서 뭐가 있는지 봐요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
04 · 터미널 실습
이제 새 todo 를 서버로 POST 해요. JSON 본문으로 보내요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
05 · 빈칸 채우기
curl 에서 HTTP method 를 지정하려면 _____ 플래그를 사용해요.
06 · 퀴즈
전자상거래 API 에 새 상품을 추가하려고 해요. API 문서에는 POST /api/products 라고 돼 있어요. 어떤 curl 명령이 맞나요?
- curl https://shop.com/api/products?name=Shoes&price=50
- curl -X POST https://shop.com/api/products -H "Content-Type: application/json" -d '{"name":"Shoes","price":50}'
- curl -GET https://shop.com/api/products -d '{"name":"Shoes"}'
- curl --create https://shop.com/api/products -body '{"name":"Shoes"}'
⚠ 전체 인터랙티브 경험에는 JavaScript가 필요해요. JavaScript를 켜고 새로 고침해 주세요.
※ 이 사이트는 독립 운영되는 교육 프로젝트로, Anthropic의 공식 제품이 아니에요. Claude™ 는 Anthropic, PBC 의 상표예요.