06 - Swagger
Introdução ao Swagger
Para adicionar o Swagger ao seu projeto Django com Django REST Framework, você pode usar a biblioteca drf-yasg (Yet Another Swagger Generator). Esta biblioteca fornece uma interface Swagger para documentar e testar sua API REST.
Passos para Configurar o Swagger com drf-yasg
- Instalar o
drf-yasg
Execute o seguinte comando para instalar a biblioteca drf-yasg
:
- Configurar o
drf-yasg
no Projeto
Abra o arquivo urls.py
do seu projeto Django (geralmente o urls.py
no diretório principal do projeto) e adicione as seguintes configurações para incluir a documentação Swagger.
#streaming_platform/urls.py
from django.urls import path, re_path
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
# Configuração do Swagger
schema_view = get_schema_view(
openapi.Info(
title="API de Conteúdos",
default_version='v1',
description="Documentação da API para o app de streaming de áudio e vídeo",
terms_of_service="https://www.google.com/policies/terms/",
contact=openapi.Contact(email="suporte@exemplo.com"),
license=openapi.License(name="Licença BSD"),
),
public=True,
permission_classes=(permissions.AllowAny,),
)
urlpatterns = [
# Suas outras URLs
path('admin/', admin.site.urls),
path('api/', include('app.urls')), # Inclua as URLs do seu app
# URLs do Swagger
re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]
- Acessar a Documentação Swagger e ReDoc
Com a configuração acima, você terá acesso a dois tipos de documentação:
-
Swagger UI: Interface de documentação interativa. Acesse em:
-
ReDoc: Alternativa ao Swagger com uma interface de documentação mais moderna. Acesse em:
-
Testar a Documentação
Ao acessar http://localhost:8000/swagger/
, você verá a documentação de sua API com base nas views definidas e nos parâmetros dos serializadores. A partir do Swagger, você também pode testar diretamente as endpoints da sua API, enviando requisições com diferentes parâmetros.
Configuração Opcional
Para personalizar ainda mais o Swagger, você pode ajustar o schema_view
no arquivo urls.py
adicionando mais informações ou incluindo permissões específicas.
Esses passos devem ser suficientes para configurar e visualizar o Swagger em seu projeto Django, facilitando o uso e a documentação da sua API.