0% encontró este documento útil (0 votos)
9 vistas31 páginas

Unidad 3 - API RESTful Con Integración de Base de Datos

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas31 páginas

Unidad 3 - API RESTful Con Integración de Base de Datos

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 31

Programación Back End (TI2041)

Unidad 3 API RESTFul con Integración de Base de Datos


Docente: Fernando Reveco
Correo: [email protected]
¿Qué aprenderemos en esta unidad?
APRENDIZAJES ESPERADOS CRITERIOS DE EVALUACIÓN

3.1.1.- Implementa DjangoRest Framework según requerimiento.


3.1.- Construye API RESTFul usando como autenticación JWT, según 3.1.2.- Codifica instrucciones de autenticación según requerimiento.
requerimiento.
3.1.3.- Codifica instrucciones que generen salidas en formato JSON
según requerimiento.

2
Propiedad intelectual

Todo el contenido de la presentación fue extraído del libro:


• 2019 - Django for APIs (William S. Vincent)
Todos los derechos reservados para William S. Vincent.

3
3.1.- Construye API RESTFul usando como autenticación
JWT, según requerimiento.

3.1.1.- Implementa DjangoRest Framework según requerimiento.


3.1.2.- Codifica instrucciones de autenticación según requerimiento.
3.1.3.- Codifica instrucciones que generen salidas en formato JSON según
requerimiento.
Proyecto libros
Crear un nuevo proyecto llamado booksControl.

Crear una aplicación books.

Agregar aplicación a settings.

5
Proyecto libros
Crear el siguiente modelo para la aplicación books.

6
Proyecto libros
Realizar la migración del modelo books.

Crear la base de datos booksControl con cotejamiento utf8_general_ci.

Agregar la librería PyMySQL.

7
Proyecto libros
Realizar la migración a la base de datos.

Configurar el administrador para la aplicación books.

Crear super usuario para acceder al administrador.

8
Proyecto libros
Poblar datos en el modelo.

9
Django REST Framework
Django REST se agrega igual que cualquier aplicación de terceros. Pero primero se debe instalar la librería (Sitio oficial).

10
Django REST Framework
Agregar rest_framework a la configuración de INSTALLED_APPS en settings.py.

11
Serializers
Un serializers (serializador) traduce los datos a un formato que es fácil de consumir a través de Internet, normalmente
JSON y se muestra en un punto de enlace de API.

12
Django REST Framework
La API mostrará un único punto final que enumera todos los libros en JSON. Por lo tanto, se necesitará una nueva ruta de
URL, una nueva vista y un nuevo archivo de serializer.

Hay varias formas en que se pueden organizar estos


archivos, sin embargo, un buen enfoque es crear una
aplicación API dedicada. De esta manera, si se agregan más
aplicaciones en el futuro, cada aplicación puede contener los
modelos, vistas, plantillas y direcciones URL necesarias para
las páginas web dedicadas, pero todos los archivos
específicos de API para todo el proyecto vivirán en una
aplicación de API dedicada.

13
Django REST Framework
Crear una nueva aplicación de API.

Agregar la aplicación a INSTALLED_APPS.

14
Django REST Framework
La aplicación api no tendrá sus propios modelos de base de datos, por lo que no es necesario crear un archivo de
migración y actualizar la base de datos.
Configurar las urls para api.

15
Django REST Framework
Crear un archivo serializers.py dentro de la aplicación api.

16
Django REST Framework
Se importa la clase de serializers de Django REST Framework y el modelo Book desde la aplicación de books. Se extiende
ModelSerializer de Django REST Framework a una clase BookSerializer que especifica el modelo de base de datos Book y
los campos de base de datos que se desean mostrar: title, subtitle, author e isbn.

17
Django REST Framework
El archivo views.py se basa en las vistas de clase genéricas integradas de Django REST Framework. Estos imitan el formato
de las vistas genéricas basadas en clases tradicionales de Django, pero no son lo mismo.

18
Django REST Framework
Se importa la clase de vistas genéricas de Django REST Framework, los modelos de la aplicación de books y los serializers
de la aplicación api.

Se crea un BookAPIView que usa ListAPIView para crear un extremo de solo lectura para todas las instancias de libros.

19
Django REST Framework
Ejecutar el sitio y acceder a la url http://127.0.0.1:8000/api/

20
Django REST Framework
Los ajustes específicos de Django REST Framework que existen bajo REST_FRAMEWORK pueden ser configurados de
forma personalizada. Por ejemplo, se puede establecer explícitamente los permisos en AllowAny.

Django REST Framework tiene una larga lista de configuraciones predeterminadas establecidas implícitamente (
lista completa). AllowAny es uno de ellos, lo que significa que cuando se establece explícitamente, el efecto es
exactamente el mismo que si no estuviera DEFAULT_PERMISSION_CLASSES.

La configuración predeterminada
no es apropiada para la
producción.

21
Django REST Framework
Actualizando las urls de la aplicación api.

Se hace referencia a dos vistas, BookAPIView y DetailBook (aún no creada). Habrá una lista de todos los libros en la url
vacía, en otras palabras, en api/. Y cada tarea individual estará disponible en su clave principal, que es un valor que
Django establece automáticamente en cada tabla de base de datos. La primera entrada es 1, la segunda es 2, y así
sucesivamente. Por lo tanto, el primer libro se ubicará eventualmente en api/1/.

22
Django REST Framework
Creando una nueva clase en views de api.

Se utiliza ListAPIView para mostrar todos los libros y RetrieveAPIView para mostrar una sola instancia del modelo.

23
Django REST Framework
http://127.0.0.1:8000/api/

24
Django REST Framework
http://127.0.0.1:8000/api/1/

25
Django REST Framework
http://127.0.0.1:8000/api/2/

26
Django REST Framework - CRUD
Django REST Framework tiene varias vistas genéricas que son útiles. Hasta ahora se han utilizado:
• ListAPIView: para crear una colección de solo lectura, esencialmente una lista de todas las instancias de modelo.
• RetrieveAPIView: para crear una colección de solo lectura, esencialmente una sola instancia del modelo.

27
Django REST Framework - CRUD
Para la API de books, se requiere enumerar todas las entradas disponibles como un punto final de lectura y escritura, lo
que significa usar ListCreateAPIView, que es similar al ListAPIView, pero permite escrituras. También se busca que las
publicaciones de blog individuales estén disponibles para ser leídas, actualizadas o eliminadas. Hay una vista genérica de
Django REST Framework incorporada solo para este propósito: RetrieveUpdateDestroyAPIView.

28
Django REST Framework - CRUD
http://127.0.0.1:8000/api/

29
Django REST Framework - CRUD
http://127.0.0.1:8000/api/1/

30
Programación Back End (TI2041)
Unidad 3 API RESTFul con Integración de Base de Datos
Docente: Fernando Reveco
Correo: [email protected]

También podría gustarte