티스토리 뷰

반응형

 

터미널에서 curl 대신 HTTPie를 이용하면 API 테스트를 보다 쉽게 할 수 있다.

 

 

 

설치 방법 (macOS 기준)

사전 작업으로 brew 설치가 필요하다.

(https://brew.sh/index_ko 참고)

% brew update
% brew install httpie

 

 

 

 

 

기본 사용법 (curl과 비교)

 

명령어 만으로도 http와 https로 구분하여 호출이 가능하다

% curl http://janes.shop
% curl https://janes.shop
% http janes.shop
% https janes.shop

 

Headers 설정은 url 뒤에 key:value 형태로 붙이면 된다. 

% curl -i -H "x-api-key:g54RfVnN2LX947pcgXnA4fc86WEZFDSGVIH6l" janes.shop/user/list
% https GET janes.shop/user/list x-api-key:g54RfVnN2LX947pcgXnA4fc86WEZFDSGVIH6l

 

query string으로 데이터를 넘기거나 body에 데이터를 넘겨야할 때는 url 뒤에 key==value 형태로 붙이면 된다.

% curl -i -G -d "username=jane" -H "x-api-key: g54RfVnN2LX947pcgXnA4fc86WEZFDSGVIH6l" https://janes.shop/user/details
% https janes.shop/user/details username==jane x-api-key:g54RfVnN2LX947pcgXnA4fc86WEZFDSGVIH6l

 

응답

% curl -i -G -d "username=jane" -H "x-api-key: g54RfVnN2LX947pcgXnA4fc86WEZFDSGVIH6l" https://janes.shop/user/details
HTTP/2 200 
date: Tue, 23 Nov 2021 09:48:52 GMT
content-type: application/json
content-length: 458
x-amzn-requestid: g56hf145-f4gb-k90k-a778-0kj8ff31c58d
x-amzn-remapped-connection: keep-alive
x-amz-apigw-id: TQW2xFsgIE0Df9B=
x-amzn-trace-id: Root=1-842cb904-15ac08c02l99d6b369905b4d
x-amzn-remapped-date: Tue, 23 Nov 2021 09:48:52 GMT

{"code":"OK","message":"Done","timestamp":1637660932776,"data":{"lastName":"Kwon","displayName":"Jane Kwon","firstName":"Jane","id":"6783","state":"ACTIVATED","username":"jane"}}%
% https janes.shop/user/details username==jane x-api-key:g54RfVnN2LX947pcgXnA4fc86WEZFDSGVIH6l
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 458
Content-Type: application/json
Date: Tue, 23 Nov 2021 09:48:52 GMT
X-Amzn-Trace-Id: Root=1-842cb904-15ac08c02l99d6b369905b4d
x-amz-apigw-id: TQW2xFsgIE0Df9B=
x-amzn-Remapped-Connection: keep-alive
x-amzn-Remapped-Date: Tue, 23 Nov 2021 09:48:52 GMT
x-amzn-RequestId: g56hf145-f4gb-k90k-a778-0kj8ff31c58d

{
    "code": "OK",
    "data": {
        "lastName": "Kwon",
        "displayName": "Jane Kwon",
        "firstName": "Jane",
        "id": "6783",
        "state": "ACTIVATED",
        "username": "jane"
    },
    "message": "Done",
    "timestamp": 1637660932776
}

당연히 key와 value는 작성을 위한 가짜 값이다.

(참고 : https://httpie.io/docs)

 

 

 

 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함