chrome extension DHC 주로 사용하는 웹브라우저중 하나인 크롬의 Extension하나를 소개하려 한다.

DHC앱은 API호출 테스트해볼 수 있는 Extension이다. 처음에는 주로 Postman을 사용하였었는데 사용하다 보니 API를 호출할때 Postman보다 많은 정보도 제공하고, 여러가지 기능이 있다.

아직 알고 사용하는 기능은 그리 많지 않지만, 알고 있는것을 공유하려한다. 먼저 왼쪽에 있는 탭에는 가장 기본적인 기능인 history와 API를 저장하고 불러올수 있는기능, 전역변수를 선언할 수 있는 기능이 있다.

여기서 history와 API는 Postman에도 있는 기능이다. 처음 DHC를 사용하면 Postman이 더 직관적인 UI를 가지고 있음을 느낄것이다. Postman은 DHC와 달리 저장을 하면 리스트와 같이 1개의 폴더에 모든 파일을 가지고 있다. 이와 같은 구조는 API가 매우 적을때 편한 구조 인거같다. 이와 달리 DHC는 웹프로젝트에 맞게 프로젝트, 서비스, API 와 같이 3개의 계층구조를 가지고 있다. 이런 부분은 좀 더 세부적으로 정리 할 수 있고, 사용자의 편의를 위한 기능인거 같다. 마지막 탭인 전역변수를 선언하는 기능은 고정값이 아닌 변할 수 있는 값을 전역적으로 선언할 수 있다. 이 부분은 Postman에 없는 기능으로 Token과 같은 일정 시간동안 같은 값을 쓰지만 매번 바뀌는 변수를 주로 사용할 때 매우 편한것 같다.

전역변수 기능은 처음에는 이 기능은 뭘까 하였다. 호기심에 변수를 선언하고 값을 지정하고 호출하는 곳에 주로 개발할때 값이 들어가는 인자를 나타내는 ${variable name} 이 구문을 사용하여 변수가 들어갈 부분을 지정하였더니, 놀랍게도 호출을 할때 자동으로 선언했던 변수가 들어갔다. OAuth를 개발 및 사용을 해봤다면, AccessToken과 같은 매우 긴 값을 계속해서 교체해주기에 API도 매우 많고, 번거로운 작업중 하나였을 것이다. 하지만, 애초에 hardcoding하듯이 값을 직접적으로 입력해서 저장하지 않고, 변수를 저장한다면 여러 API를 테스트 해볼때 전역변수 값만 변경하고 호출버튼만 클릭하면 되기에 매우 편해질 것이다.

호출하는 컨텐츠 부분은 Postman과 같이 헤더, 파라미터등을 지정할 수 있다. 여기서 또 Postman과 사용자의 편의를 위해 차별을 둔 부분이 있다. 각각의 변수를 지정할때 체크박스가 있는것을 볼 수 있을것이다. 이 기능은 Postman에서 일일이 수작업으로 파라미터를 넣었다가 뺏다가 테스트를 할때 불편을 느꼈었던 부분이다. 호출한 결과도 보면 Postman에 비해 매우 자세하게 나온다. 해당 서버가 어떤 메서드를 지원하는지, 서버가 Apache기반인지 nginx기반인지 등등 부가적인 정보도 많이 얻을 수 있다.

호출하는 부분의 상단을 보면 Save, 2Code 부분이 보일것이다. Save는 이름에서 알 수 있듯이 저장하는 기능이다. 2Code기능은 무엇일까? 눌러보면 알 수 있을것이다. API호출을 cURL로 호출할 수 있는 코드로 번역해준다. 가끔씩 서버내에서 브라우저를 통해서가 아닌 터미널로 정상적으로 값이 들어오는지 확인해봐야 할 경우가 있다. cURL로 직접 짜거나 wget등 여러가지 방법을 생각해볼 수 있는데 아무리 생각해도 어떻게 시도를 해야할지 감이 안온다. 이럴때 해당 기능을 사용하여 복사하여 단순히 명령어만 치면된다. 필자는 주로 ACL을 확인하거나, 특정 서버만 ACL이 허용되어서 해당 서버에서 확인을 해봐야할때 해당기능을 사용한다.

Postman에 비해 여러가지 기능을 제공하고 사용자의 입장에서 만든 Extension인거 같다. 처음에는 UI가 익숙하지 않아 Postman을 주로 사용하였는데, 이제는 더 이상 Postman을 쓰지 않는다. 개발자의 입장에서 잘 만들어진 Extension이라고 생각하며, 해당 Extension의 링크는 아래에 걸어놓았다. DHC Extension