JSON을 반환하는 Mock 서버를 쉘에서 바삭하게 지어라.

JSON 응답을 반환하는 서버가 갑자기 필요하면 ...


nc 명령을 사용하여 Mock 서버를 만들 수 있습니다 🏗🗼
(Mac라든가 nc 명령은 디폴트로 들어가거나 합니다.)
불필요한 라이브러리 등 넣거나하지 않고 moc 서버 지어 싶은 경우에 꽤 편리하게 사용할 수 있는 방법을 소개합니다!

Step1. JSON 준비



아래와 같은 JSON 내용의 파일을 준비합니다.

response.json
{
  "text": "Hello World!",
  "status": 200,
  "error": null
}

Step2. 명령 실행



위의 파일을 지정하도록 다음 명령을 실행합니다.
$ bash -c "trap exit INT; while :; do (echo -e HTTP/1.1 200 OK\n;echo -e Content-Type: application/json; echo; cat response.json) | nc -l 8080; done"

명령 내용 설명



① http 응답을 반환하는 명령입니다. (8080은 포트 번호 지정입니다)
nc -l 8080

nc 커멘드로 돌려주는 내용을 파이프로 건네줍니다
echo -e HTTP/1.1 200 OK\n;echo -e Content-Type: application/json; echo; cat response.json

nc 커멘드 자체는 1회 응답을 돌려주면 프로세스 종료해 버리므로, 몇번이나 실행되도록(듯이) 합니다
while :; do <実行したいコマンド>; done

④ Ctrl-c로 프로세스를 멈출 수 있도록 합니다.
bash -c "trap exit INT; <実行したいコマンド>"

( trap exit INT; 에서 Ctrl-c (SIGINT)를 받고 프로세스를 종료하도록 하지만 bash -c .)

Step3. 브라우저로 접속해 본다



nc 명령으로 port를 8080으로 지정했으므로 http://localhost:8080로 액세스합니다.



(Chrome 확장 JSON 뷰어 표시됨)

브라우저에서도 확인할 수 있었으므로, 나머지는 개발중의 시스템으로부터 액세스 해 보거나 해 이용할 수 있습니다 🏄‍♂️
(이용이 끝나서 서버를 멈출 때는 Ctrl-c 로 멈추자.)

좋은 웹페이지 즐겨찾기