Fundamentos de Django Rest Framework
Creación de APIs con Django REST Framework
APIs y JSON: Comunicación entre Servidores y Aplicaciones Web
Creación de APIs con Django REST Framework
Django REST: Funcionalidades y Ventajas al Crear APIs
Modelos y Serializadores en Django para DoctorApp
Uso de Serializadores en Vistas con Django REST Framework
Creación y modificación de pacientes en API REST con Django
CRUD de Recursos con Django REST Framework
Pruebas de APIs con Postman y Curl
Refactorización de Vistas: De Funciones a Clases en Django REST
Vistas Genéricas en Django: Detalle, Actualización y Eliminación
Documentación de APIs con DRF Spectacular y Swagger en Django
Vistas y Endpoints
Uso de Viewsets y Routers en Django REST Framework
Creación de acciones personalizadas en Django REST Framework
Autenticación y Autorización en APIs con Django REST Framework
Validaciones Personalizadas en Serializadores de Django REST Framework
Serializadores Avanzados
Serializadores Anidados en Django: Implementación y Uso Práctico
Cálculo de Edad y Experiencia con Serializer Method Field en Django REST
Creación y Gestión de Endpoints para Citas Médicas en Django REST
Testing y Desempeño
Pruebas Unitarias en Django: Validación de API con API Client Test
Limitación de Solicitudes en APIs con Django REST
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Cómo crear una vista basada en funciones que nos permita listar los pacientes en nuestra base de datos utilizando Django REST Framework y serializadores. Además, configuraremos las rutas y endpoints para consumir esta funcionalidad desde el frontend o cualquier cliente que utilice el API.
Primero, abrimos nuestro archivo de vistas y realizamos las siguientes importaciones necesarias:
PatientSerializer
desde los serializadores.Patient
desde el archivo de Modelos.Response
desde Django REST Framework, que nos permitirá devolver datos en formato JSON o XML, entre otros.Luego, creamos una función llamada ListPatients
que será nuestra vista basada en funciones. Esta función hará una consulta a la base de datos para obtener todos los pacientes. Para esto, usamos Patient.objects.all()
y guardamos el resultado en una variable.
Una vez que obtenemos los pacientes, necesitamos serializar los datos. Para ello, usamos el PatientSerializer
, pero como estamos serializando una lista de objetos, pasamos el parámetro many=True
. Esto le indica al serializador que procese múltiples ítems.
La data serializada estará disponible en serializer.data
, que será lo que devolvemos en el Response
.
Para que Django REST Framework reconozca nuestra vista, necesitamos usar el decorador @api_view
. Lo importamos desde rest_framework.decorators
. Este decorador se configura para que la vista solo acepte peticiones GET. De esta manera, evitamos que se utilicen otros métodos HTTP, como POST, en esta misma URL.
Abrimos el archivo de configuración de URLs y creamos una nueva ruta. Asociamos el path api-patients
con la vista ListPatients
, importándola desde el archivo de vistas.
Guardamos todo y ejecutamos el servidor con el comando manage.py runserver
.
Al acceder a la URL api-patients
, Django REST Framework nos muestra un listado de pacientes en formato JSON. Este listado incluye toda la información de los pacientes almacenados en la base de datos, con campos como nombres, apellidos y fechas. Las fechas aparecen en formato de cadena, aunque en el modelo de Python están como DateTime
.
El siguiente paso es crear un nuevo endpoint que permita añadir pacientes a través del método POST. El reto será validar que los datos enviados coincidan con las reglas definidas en el modelo, usando nuevamente los serializadores.
Aportes 15
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?