pip install djangorestframework
En movies/setting.py
añadir:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
--> 'rest_framework',
'movie'
]
Con rest_framework se crean serializers.py en cada app, en este caso: movie
(no movies
, este es el proyecto)
-
En
serializers.py
,__all__
sirve para jalar todos los campos del modelo -
En
views.py
se importan tanto el modelo como el serializadorfrom rest_framweork import viewsets
permite que la vista ya venga con el CRUD implementado -
Una vez creado ModelViewSet se va a urls.py de la app y se importa:
from rest_framework import routers
. Este módulo tiene DefaultRouter y SimpleRouter
Entrar a localhost:8000/movie y saldrá opción para agregar una película. Una vez se haya creado, se podrá ver el json con los datos de la película creada y podrás añadir más.
Ahora generaremos documentación con yasg (Yet Another Swagger Generator) ASEGURATE ESTAR EN TU ENTORNO VIRTUAL :')
(.env)$ pip install drf-yasg
Añadir drf-yasg en settings.py
INSTALLED_APPS = [
...
'rest_framework',
'movie',
--> 'drf_yasg'
]
Como es de esperarse, se usará en el archivo urls.py
global para importar yasg, sino no generaría la documentación para todas las rutas que se tienen.
Importar lo siguiente:
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
get_schema_view permmitirá crear el documento de la API, x ejemplo OpenAPIinfo