Python/Django Ninja

[Django-Ninja] API 문서 Docs 커스텀

yubi5050 2024. 5. 18. 18:46

Ninja Docs

기본적으로 Ninja에서는 가벼운 설정으로 Swagger나 Redoc을 지원하며

https://django-ninja.dev/guides/api-docs/

 

문서를 관리하기 위한 다양한 부가 기능들이 존재한다.

  • 문서 권한 설정
  • 문서 숨기기
  • 커스텀 태그 (openapi_extra 속성 v1이상 지원)
  • 커스텀 Docs 만들기 (링크) 등 도 가능하다.

 

문서 숨기기

기본적으로 /api/openapi.json 을 바탕으로 -> /api/docs 의 문서를 생성해준다.

 

이를 Production 등에 활용시 다음과 같이 설정하면, url을 감춰준다.

from ninja import NinjaAPI
api = NinjaAPI(docs_url=None)

 

참고 링크

 

문서에 Description 추가 하기

만약 공개된 다른 API 문서 처럼 부가적인 설명을 적으면서 Develop 하고 싶다면 다음과 같이

Description 옵션을 추가하는 것도 가능하다.

Description 옵션은 html 태그로도 작성 가능하다.

 

from ninja import NinjaAPI
api = NinjaAPI(title="문서 제목", description="해당 API문서는 .... ~ 설명입니다. <p>html 태그로도 가능합니다.</p>")