JSON 보내기
Coddy의 터미널로 네트워킹 배우기 코스 레슨. 47개 중 35번째.
오늘날 대부분의 API는 폼 인코딩이 아니라 JSON을 원합니다. 두 가지를 변경해야 하며, 두 번째 변경을 잊는 것이 이 전체 영역에서 가장 흔한 실수입니다.
curl -s -H 'Content-Type: application/json' \
-d '{"name":"ada"}' http://127.0.0.1:9125/users첫째, 본문이 JSON이 됩니다. 둘째, Content-Type 헤더로 이를 선언해야 합니다. 그렇지 않으면 curl은 여전히 본문을 폼 데이터로 표시하기 때문입니다. 그러면 서버는 JSON을 key=value 쌍으로 파싱하려고 시도하다가 이를 거부하며, 보통 400 오류가 발생합니다.
따라서 API가 JSON이 유효하지 않다고 하는데 여러분에게는 완벽하게 유효해 보인다면, JSON을 확인하기 전에 헤더를 확인하세요.
따옴표에도 주의하세요. JSON에는 큰따옴표가 가득하므로 전체 본문을 작은따옴표로 감싸면 셸이 그대로 둡니다.
챌린지
전문가실제 JSON을 보내고 올바르게 라벨이 지정되었음을 증명하세요.
- 포트 9125에서 캡처 리스너를 시작하세요.
- JSON으로 선언하여 본문
{"name":"ada"}을/users로 POST하세요. req.txt에서 Content-Type 줄을 출력하세요.
예상 출력:
Content-Type: application/json직접 해보기
터미널
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
터미널로 네트워킹 배우기의 모든 레슨
직접 연습해 보세요: Terminal 플레이그라운드