Fundamentos de Django Rest Framework
Crea y escala APIs con Django REST Framework
Introducci贸n a las APIs, REST y JSON
Instalaci贸n de Django y Django REST Framework
Integraci贸n de Django REST Framework en proyectos Django
C贸mo crear modelos y serializadores en Django REST Framework
Implementar vistas basadas en funciones en Django REST Framework
Gesti贸n de Vistas Basadas en Funciones en Django REST Framework
驴C贸mo modificar y eliminar recursos con Django REST Framework?
Postman y cURL en Django REST Framework
Refactorizar las funciones a clases en Django REST Framework
Refactorizando vistas en Django REST Framework con vistas gen茅ricas
Documentaci贸n de APIs con Django REST, Swagger y OpenAPI
Vistas y Endpoints
Vistas Personalizadas y ViewSets en Django REST Framework
Manejos de Acciones con ViewSet en Django REST Framework
Autenticaci贸n y Gesti贸n de Roles en Django REST Framework
Manejo de Errores y Validaciones
Serializadores Avanzados
驴C贸mo implementar serializadores anidados en Django Django REST Framework?
驴C贸mo usar SerializerMethodField en Django REST Framework?
Endpoint Anidado para Appointments Usando @action
Testing y Desempe帽o
Pruebas Unitarias para Endpoints Anidados Usando APIClient
Throttling en Django REST Framework
No tienes acceso a esta clase
隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera
El endpoint para agendar una cita es esencial dentro de la l贸gica de negocio, ya que permite la interacci贸n entre pacientes y doctores de manera eficiente. A trav茅s de este endpoint, un paciente puede reservar una cita con un doctor, cumpliendo con las mejores pr谩cticas de REST y utilizando un viewset anidado para aprovechar los recursos previamente creados.
La URL para agendar una cita sigue una estructura anidada basada en el ID del doctor. Utilizamos el recurso existente /doctors/{id}
para obtener detalles de un doctor, y sobre esta misma estructura se agregan las citas con el endpoint /appointments
. Seg煤n REST, un GET
en este endpoint devolver谩 una lista de citas, mientras que un POST
permitir谩 crear una nueva.
Para implementar la acci贸n, es necesario definir un m茅todo en el viewset del doctor, que maneje tanto GET
como POST
. El objetivo principal del POST
es recibir los datos de la cita que desea agendar el usuario y crearla utilizando un Serializer
. Aqu铆, el ID del doctor se obtiene de la URL, asegurando que no se pueda modificar desde el formulario.
Pasos clave:
AppointmentSerializer
desde el m贸dulo bookings
.request
y se agrega el ID del doctor a dicha data.isValid
.Serializer.save()
y se retorna un estado 201 (creado).Para retornar las citas de un doctor con un GET
, se filtran las citas por el ID del doctor utilizando el ORM de Django. El m茅todo filter
se encarga de traer todas las citas asociadas al doctor, las cuales se serializan y se devuelven en formato JSON.
La validaci贸n se realiza utilizando el Serializer
, el cual se asegura de que los datos cumplan con las reglas establecidas. En caso de que la informaci贸n no sea v谩lida, se lanza una excepci贸n mostrando un error claro al usuario.
Los estados HTTP se manejan a trav茅s del m贸dulo status
de Django REST. En el caso de crear una cita, se retorna un estado 201 para indicar que la cita fue creada correctamente. Para las dem谩s acciones, el estado por defecto es 200, indicando que la solicitud fue exitosa.
Aportes 4
Preguntas 0
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?