OpenAPI, Swagger, AsyncAPI 또는 GraphQL 정의로 반응형 3단 API 레퍼런스 사이트를 생성하는 오픈소스 도구입니다.
axnsan12/drf-yasg
Django REST Framework API에서 실제 Swagger/OpenAPI 2.0 명세와 인터랙티브 문서를 생성합니다.
- 스타
- 3,547
- 포크
- 439
- 열린 이슈
- 218
- 마지막 커밋
- 28일 전
어떤 프로젝트인가요?
drf-yasg는 Django REST Framework 뷰와 serializer를 분석해 OpenAPI 2.0 (Swagger) 스키마를 생성하므로, API 문서가 수작업으로 관리되지 않고 코드 내용을 반영합니다. 스키마는 JSON 또는 YAML로 제공할 수 있으며, 라이브러리에 swagger-ui와 ReDoc이 포함되어 있어 프로젝트에서 생성된 문서를 바로 열람할 수 있습니다.
설정하려면 앱을 INSTALLED_APPS에 추가하고 urls.py에 스키마 뷰를 연결하면 됩니다. 중첩 serializer를 지원하며, 명세 생성의 각 단계에서 사용자 지정할 수 있는 훅을 제공합니다. 캐싱 기능이 내장되어 있고, swagger-spec-validator로 스키마를 선택적으로 검증할 수 있습니다.
이 프로젝트는 OpenAPI 2.0만 지원합니다. OpenAPI 3.0이 필요한 신규 프로젝트에는 유지관리자가 drf-spectacular을 안내하며, README에는 drf-yasg가 3.0을 지원할 가능성이 낮다고 적혀 있습니다.
핵심 기능
- 01중첩 serializer를 포함해 DRF 뷰와 serializer에서 Swagger/OpenAPI 2.0 명세를 생성합니다.
- 02명세를 JSON 또는 YAML로 제공합니다.
- 03문서 열람을 위한 swagger-ui와 ReDoc을 포함합니다.
- 04명세 생성 전 과정에서 사용자 지정 훅을 제공합니다.
- 05swagger-spec-validator를 통한 선택적 검증과 내장 응답 캐싱을 지원합니다.
- 06URLPathVersioning 및 NamespaceVersioning과 함께 사용할 수 있습니다.
활용 사례
- 명세를 수작업으로 작성하지 않고 기존 Django REST Framework API를 문서화합니다.
- swagger-codegen을 사용한 클라이언트 코드 생성을 위해 OpenAPI 2.0 파일을 만듭니다.
- Django 프로젝트에서 사내 또는 공개 개발자에게 인터랙티브 API 문서를 제공합니다.
토픽
자주 묻는 질문
- drf-yasg은(는) 무엇인가요?
- Django REST Framework API에서 실제 Swagger/OpenAPI 2.0 명세와 인터랙티브 문서를 생성합니다. drf-yasg는 Django REST Framework 뷰와 serializer를 분석해 OpenAPI 2.0 (Swagger) 스키마를 생성하므로, API 문서가 수작업으로 관리되지 않고 코드 내용을 반영합니다. 스키마는 JSON 또는 YAML로 제공할 수 있으며, 라이브러리에 swagger-ui와 ReDoc이 포함되어 있어 프로젝트에서 생성된 문서를 바로 열람할 수 있습니다.
- drf-yasg은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- drf-yasg은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- drf-yasg은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. drf-yasg의 마지막 커밋은 2026년 10월 9일입니다.
- drf-yasg은(는) 어디에 사용할 수 있나요?
- 명세를 수작업으로 작성하지 않고 기존 Django REST Framework API를 문서화합니다. swagger-codegen을 사용한 클라이언트 코드 생성을 위해 OpenAPI 2.0 파일을 만듭니다. Django 프로젝트에서 사내 또는 공개 개발자에게 인터랙티브 API 문서를 제공합니다.
- drf-yasg은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/axnsan12/drf-yasg
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
코드 어노테이션과 JAX-RS REST API로 OpenAPI 명세를 생성하며 OpenAPI 3.x를 지원하는 Java 라이브러리입니다.
OpenAPI/Swagger 명세 파일을 바탕으로 브라우저에서 대화형 API 문서를 렌더링합니다.
인터랙티브 API 레퍼런스, 오프라인 우선 API 클라이언트, 다양한 웹 프레임워크용 통합 기능을 제공하는 오픈 소스 OpenAPI/Swagger 툴킷입니다.
Go 소스 코드 주석의 어노테이션으로 Swagger 2.0 API 문서를 생성하는 Go 도구입니다.