Uma maneira ágil de compartilhar e manter os serviços de uma API para diversas equipes é através de uma documentação aberta.
Neste post, quero mostrar como podemos criar documentação de uma API de forma automatizada usando Open API, Redoc e Django Rest Framework, também conhecido como DRF. Para fazer isso, vou usar a biblioteca drf-yasg
1) Instale a biblioteca
pip install drf-yasg
2) Configure o projeto:
Primeiro altere seu settings.py acrescentando o biblioteca.
INSTALLED_APPS = [ ... 'django.contrib.staticfiles', # required for serving swagger ui's css/js files 'drf_yasg', ... ]
Agora basta apenas adicionar essas entradas abaixo no seu arquivo urls.py
...
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
...
schema_view = get_schema_view(
openapi.Info(
title="Snippets API",
default_version='v1',
description="Test description",
terms_of_service="https://www.google.com/policies/terms/",
contact=openapi.Contact(email="contact@snippets.local"),
license=openapi.License(name="BSD License"),
),
public=True,
permission_classes=[permissions.AllowAny],
)
urlpatterns = [
url(r'^swagger(?P\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
...
] É isso, sem mais delongas!
Por favor, se gostou compartilhe com a comunidade essa dica. Que a força esteja com você.
Published Aug 08, 2021 by f0rmig4