HTTPie는 python 으로 개발된 콘솔용 http client 유틸리티입니다.
http 개발 및 디버깅 용도로 사용 가능합니다.
EndPoint 개발 시
Front에서 받을 정보를 임의로 보내보면서
발생하는 에러를 바로 확인할 수 있기때문에
에러 처리를 하기에 매우 유용합니다.
http [flags] [METHOD] URL [ITEM [ITEM]]
위와 같은 순서로 사용할 수 있으며
보통 API 개발 시
request에 대한 response를 보고 싶을 때
http -v POST localhost:8000 name=devzunky
위와 같이 사용됩니다.
-v는 response 내용을 자세히 보여주는 옵션입니다.
그리고 name=devzunky처럼 request의 body에 들어갈
ITEM들을 보내줄 수 있습니다.
HTTPie는 JSON 데이터 타입을 지원하며
command에 request data가 포함되어 있다면
JSON으로 Serializing합니다.
1. How to Use HTTPie
에서 name=devzunky는
{
"name":"devzunky"
}
위처럼 JSON 데이터로 해당 URL에 전송됩니다.
JSON 데이터를 request의 body에 정확히 담는 방법을 알아보겠습니다.
:=
separatorString이 아닌 정보는 :=
separator를 사용합니다.
:=
seperator는 raw JSON을 object에 담을 수 있도록 합니다.
Text파일은 =@
separator
raw JSON 파일은 =@:
separator를 사용합니다.
http PUT api.example.com/person/1
name=John
age:=29 married:=false hobbies:='["http", "pies"]' # Raw JSON
description=@about-john.txt # Embed text file
bookmarks:=@bookmarks.json # Embed JSON file
single quote을 이용해 list와 dictionary라는 것을 알려줍니다.
또한, double quote을 사용해 dictionary의 Key라는 것을 알립니다.
http -v POST www.devzunky.com numbers:='[1, 2, 3]' me:='{"name":"zunky"}'
다음과 같이 리스트에 객체를 담는 경우,
부모 역할에만 single quote으로 구분해줍니다.
http -v POST www.devzunky.com me:='[{"name":"zunky"}, {"gender":"male"}]'