API 도구 기초집LESSON 19
PowerShell Invoke-RestMethod와 curl.exe 사용
난이도입문 → 초급
예상 시간30분
선수지식이전 강의
19강. PowerShell Invoke-RestMethod와 curl.exe 사용
1. 이번 강의에서 해결할 문제
게임 기록·랭킹 API를 테스트하면서 GUI 없이 PowerShell과 curl.exe로 같은 API 계약을 재현하는 문제를 해결합니다. 수동으로 한 번 성공하는 데서 끝내지 않고 같은 결과를 다시 확인할 수 있는 요청으로 남깁니다.
2. 학습 목표
3. 핵심 개념
Invoke-RestMethod는 JSON 응답을 PowerShell 객체로 바꿔 후속 처리하기 편합니다. curl.exe는 원시 HTTP 요청과 응답 헤더를 재현하거나 다른 환경과 명령을 공유하기 좋습니다. Windows PowerShell 5.1에서는 curl이 다른 명령의 별칭일 수 있으므로 이 과정은 실행 파일을 명확히 지칭하는 curl.exe를 사용합니다.
4. 단계별 실습
실습 경로: C:\dev\game-ranking-api-tests
- PowerShell 버전과 curl.exe 경로를 확인합니다.
- Invoke-RestMethod로 랭킹을 조회합니다.
- curl.exe로 같은 요청과 플레이어 생성 요청을 실행합니다.
- 상태 확인 방식과 JSON 출력 차이를 기록합니다.
PowerShell
Get-Command curl.exe
$rankings = Invoke-RestMethod -Uri "http://127.0.0.1:8000/rankings?limit=3"
$rankings.items | Format-Table player_id, score
curl.exe -i "http://127.0.0.1:8000/rankings?limit=3"
curl.exe -i -X POST "http://127.0.0.1:8000/players" `
-H "Content-Type: application/json" `
--data-raw '{"nickname":"powershell-player","region":"KR"}'
Postman의 버튼·탭 이름은 버전에 따라 달라질 수 있습니다. 메뉴가 다르면 설치된 앱의 도움말과 Postman 공식 문서를 먼저 확인합니다.
5. 요청과 응답이 동작하는 이유
두 도구 모두 같은 HTTP 메시지를 보내지만 결과 표현 방식이 다릅니다. Invoke-RestMethod는 JSON을 객체로 역직렬화하고, curl.exe는 기본적으로 응답 본문을 텍스트로 출력하며 -i로 응답 헤더까지 보여 줍니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2PowerShell Invoke-RestMethod와 curl.exe 사용 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
19강. PowerShell Invoke-RestMethod와 curl.exe 사용 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.