유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

[10분 테코톡] 벡터의 Spring RestDocs와 Swagger 같이 사용하기

우아한테크

2025. 9. 26.

0

#backend
#devops
  • API 문서는 팀 협업의 필수 소통 도구이며, 수동 관리의 오류를 해결하기 위해 코드와 함께 관리되는 자동화가 중요합니다. 🤝
  • Swagger는 편리한 UI와 즉시성을 제공하지만, 비즈니스 코드 오염 및 낮은 신뢰성이라는 단점이 있습니다. 🎨
  • Spring RestDocs는 테스트 기반으로 높은 신뢰성과 운영 코드의 순수성을 보장하지만, 투박한 UI와 학습 곡선이 단점입니다. 🧪
  • 두 도구의 장점(Swagger의 UI, RestDocs의 신뢰성)을 모두 활용하기 위해 OpenAPI Specification (OAS)을 징검다리 삼아 연동하는 방법을 제시합니다. ✨
  • restdocs-api-spec 라이브러리를 사용하여 Spring RestDocs의 테스트 결과물을 OpenAPI 명세로 쉽게 변환할 수 있으며, 기존 테스트 코드의 document 메소드 import만 변경하면 됩니다. 📚
  • OpenAPI 명세는 테스트 코드 실행 -> RestDocs .adoc 생성 -> restdocs-api-specresource.json으로 메타데이터 정형화 -> 플러그인이 이를 통합하여 OpenAPI.yml을 생성하는 과정을 거쳐 만들어집니다. ⚙️
  • Swagger UI 연동은 지원 중단된 플러그인 대신, Swagger UI 정적 파일을 다운로드하여 Spring Boot의 static 경로에 배치하고, Gradle Task로 생성된 OpenAPI.yml을 복사한 후 swagger-initializer.js에서 경로를 설정하는 방식이 권장됩니다. 📁
  • 이 방법을 통해 Spring RestDocs의 신뢰성 있는 API 문서를 Swagger UI의 시각적이고 편리한 형태로 제공하여, 두 마리 토끼를 모두 잡을 수 있습니다. ✅

Recommanded Videos