# Apidog 사용해보기

API 테스트 도구로써 가장 처음으로 썼던 건 포스트맨이었고, 회사에서는 json-schema를 쓰다가 진행중인 사이드프로젝트에서 swagger를 통해 테스트 하던 중에 우연히 Apidog이라는 새로운 툴을 보게 되었다.

## 왜 쓰게 됐나?

swagger 사용 시에는 토글을 통해 요청값 및 응답값을 확인할 수 있는데, 다른 API url 테스트를 위해 스크롤을 하는 부분이 UI 관점에서 불편함을 느꼈다.

또한 Dto에서 해당 property에 대한 정보를 확인할려고 해도 일일이 토글해가면서 확인해야했다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765888354288/4cf0dca8-95b1-4ed2-b914-a0fe1607e418.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765889317476/299e10f1-ee90-4e34-a67b-549b6d9e72ec.png align="center")

이러한 이유로 swagger 대체재를 찾아보다가 Apidog을 사용하기로 했다.

## Apidog 사용하기

우선 사용법은 간단하다. 해당 프로젝트는 앞서 말했듯이 swagger를 사용중이고, import 해오기 위해 document-json을 붙여서 json 파일로 저장하거나 URL 자체를 넣어주면 자동으로 모든 데이터를 가져올 수 있다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765890554743/7f8c6e96-13b7-4b77-94e6-39e7aa940214.png align="center")

### 엔드포인트 확인

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765890330892/2227b9a8-84f8-4e5b-99a1-1e777cdfedb1.png align="center")

백엔드 측에서 그룹핑만 잘해주면 사이드바로 편하게 확인할 수 있다.

### 요청과 응답 확인

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765890861860/ca6dc851-5348-45cd-830b-965d92b4e162.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765890826389/04b6d21a-85a9-4d3c-9748-ee8600671592.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765890848075/1a81cc9f-5f8a-414b-bc85-91189d2fb181.png align="center")

swagger와 큰 차이는 없지만 내가 느낀 Apidog만의 장점은 가독성이 괜찮다는 것이다.

또한 인증이 필요한 API의 경우에는 이렇게 친절하게 토큰을 넣어야 한다고 알려준다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765891659008/1dea2120-cfb7-4d8c-aedb-9b2158923590.png align="center")

### Mock 테스트

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765892152612/684e3b6f-cd04-44d7-a156-095c0688e9f3.png align="center")

목데이터로 성공 및 실패 케이스를 다양하게 테스트 해볼수도 있다.

### 타입 정의

이전에는 JSON to TypeScript([링크](https://transform.tools/json-to-typescript))를 이용해서 직접 request 데이터를 집어넣으면 타입을 자동으로 변환해주는 방식을 사용했는데, Apidog을 이용하면 굳이 일일이 데이터를 집어넣는 작업을 하지 않아도 된다.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1765891942529/a56b3c37-3e13-4d5e-89de-8570477b8550.png align="center")

하지만 `[property: string]: any;` 라는 이상한 게 붙는데 이 부분에 대해서는 타입 정의 후에 알아서 수정해줘야 할 것 같다.

### 마무리

모든 툴이 그렇듯 Apidog이 만병통치약은 아니지만 테스트 용이성 및 UI 관점에서 다른 툴보다는 확실히 좋다고 느꼈다.

나중에 다른 프로젝트를 하거나 입사해서 회사 동료를 잘 설득해서 도입해보고 싶다.
