정글에서 온 개발자
Go 웹 API swagger로 문서화 패키지 고르기 본문
Go 에서는 swaggo라는 패키지를 이용해서 swagger 문서화를 지원한다.
그런데, 곤란하게도 swaggo에서도 자체적으로 fiber용으로 패키지를 만들고, fiber에서도 자체적으로 swagger를 위한 middleware를 만들었다.
사진의 위에 있는 게 fiber에서 만든 것, 세번째에 있는게 swaggo에서 만든 것이다.
(중간에 v2를 제공하는 스파이가 있는 것 같지만, 공식이 더 좋을 것 같아 패스)
GPT에 물어봤을 때는 fiberSwagger가 더 좋다고 하지만, 실제 써봤을 때는 달랐다. 커스텀이 swagger가 더 좋다고 느껴졌다.
그래서 pkg.go.dev 에 들어가 검색해본 결과, import 부터 gofiber의 swagger가 높았다.
둘다 github의 readme가 친절하지 않은 관계로 docs를 보았다.
Swagger
fiberSwagger
config 할 수 있는게 fiber에서 제공하는 swagger가 압도적인걸 확인할 수 있다.
내가 주목한 건 DefaultModelsExpandDepth 였는데. swaggo에는 아예 제공하지 않는다.
이게 안 돼서 불편한 점은 아래와 같이 단순한 string 형 속성도 무슨 대단한 계층이 숨어있는 것처럼 숨겨버린다.
위 문제 때문에 바쁜 개발 와중에 문서를 작성 안하게 됐는데, 이제 더 좋은 패키지를 알게 되었으니 잘 쓸 것 같다!
결론
난 이 패키지가 더 좋다. github.com/gofiber/swagger
'TIL' 카테고리의 다른 글
1/20 TIL C++ emplace_back() (0) | 2025.01.20 |
---|---|
1/20 TIL 이 쿼리가 왜 빨라졌을까? (0) | 2025.01.20 |
1/19 TIL 내가 몰랐던 Go 웹 서버 개발시 코드 패턴 (0) | 2025.01.19 |
Go가 빌드 시간 문제를 해결한 방법 (0) | 2025.01.19 |
Go가 탄생한 이유 (0) | 2025.01.19 |