Sunteți pe pagina 1din 10

GUILLERMO J. CASANOVA F.

Servicios REST con Django

MONTAR UN SERVIDOR DE APLICACIONES

1. Crear la carpeta en donde se alojará el proyecto.

2. Dentro de esa carpeta, generar un entorno virtual.

3. Abrir esa carpeta en Visual Studio Code o en algún otro editor de código.

4. Instalar las librerías Django y djangorestframework.


GUILLERMO J. CASANOVA F.

5. Iniciar un nuevo proyecto, y dentro de este, una nueva API.

6. Correr el servidor para probar que todo esté bien.

7. Comprobar que se tiene esta pantalla.

CONFIGURACIÓN DEL SERVIDOR

1. Dentro de la carpeta del proyecto, localizar el archivo settings.py.


a. Modificar la lista ALLOWED_HOST. Puede colocarse un asterisco para que
cualquier dispositivo pueda conectarse al servidor, o puede darse acceso
únicamente a dispositivos específicos.
GUILLERMO J. CASANOVA F.

b. Modificar la lista INSTALLED_APPS. Agregar la línea ‘rest_framework’ y


otra con el nombre de la API.

DESARROLLO DEL SERVICIO

1. Dentro de la carpeta de la API, localizar el archivo views.py. Aquí se crean las clases
de la API según el servicio que se desea ofrecer. Por el momento se creará una única
clase, y en esta se implementarán los métodos GET y POST.

En la clase PeopleRecord se implementan dos funciones, get y post. El método get


solicita el parámetro user, este se pasará por la URI como argumento, mientras que
el valor de developer se pasará mediante la URI como un string query.
GUILLERMO J. CASANOVA F.

CONFIGURACIÓN DE LAS URIS

1. Dentro de la carpeta de la API, crear el archivo urls.py.

2. En el archivo urls.py que se creó, configurar las URI’s del servicio, esto se
realiza con la lista urlpatterns. Nótese que el parámetro user se configura en la
URI.

3. La carpeta del proyecto también tiene un archivo llamado urls.py, en este se


incluirán las URI´s que se crearon en el paso anterior.

4. Hasta el momento, nuestro servidor está listo para atender las peticiones de los
clientes. Solo queda guardar todos los cambios, correr nuevamente el servidor
y comprobar que el servicio funcione de acuerdo con lo esperado. Abrir el
navegador e ingresar la dirección del servicio.
GUILLERMO J. CASANOVA F.

Nótese que el nombre del usuario (Nicole) va seguido, si el servicio recibiese


más argumentos, estos deben pasarse en el orden que se estableció en la URI.
Los string query, por otro lado, no necesitan respetar un orden, pero antes de
estos debe ir el signo interrogante y debe pasarse de la forma propiedad=valor,
y el nombre de la propiedad es el que se estableció al programar las vistas del
servicio.

Como se puede apreciar, el método GET funciona correctamente. Bien, ahora


que se aprendió a realizar peticiones mediante paso de parámetros y también
con string query, realizar las siguientes correcciones en los archivos de la API:
views.py y urls.py.

Ahora el método get, únicamente recibe valores mediante strig query. Ahora la
petición se realizará de la siguiente manera, sin embargo, el resultado es el
mismo:
GUILLERMO J. CASANOVA F.

Como se puede apreciar, el método GET funciona correctamente. Para probar


el método POST se requiere enviar un JSON con los valores que se solicitan en
el método post de la clase PeopleRecordView.

El método post también funciona correctamente.

PERSISTENCIA DE DATOS

Django REST Framework incluye un motor de bases de datos muy ligero llamado sqlite3, que
es el que se utilizará para realizar la persistencia de datos.

1. En la carpeta de la API existe un archivo llamado models.py, en este se modelará


una clase por cada entidad que tenga nuestro modelo conceptual de base de
datos. Por el momento, se creará la clase Person.
GUILLERMO J. CASANOVA F.

2. Posteriormente se creará el archivo serializers.py dentro de la carpeta de la API, en


esta se incluirán las clases que permitirán la transformación de archivos JSON a
objetos dentro del programa. En fields se incluyen los campos que se desea serializar
y en model se especifica la clase a la que pertenecerá el objeto representado en el
JSON. Se requiere una clase por cada modelo que se vaya a serializar, en este caso
se programarán dos serializadores, uno que incluya el person_id, y otro que no.

3. Ahora se modificará el archivo views.py de la carpeta del proyecto para que pueda
interactuar con la base de datos.
a. Incluir las librerías respectivas.

b. Modificar el método get.


GUILLERMO J. CASANOVA F.

c. Modificar el método post.

El método get puede funcionar de dos formas, si se le especifica un


person_id lo busca en la base de datos y devuelve el registro relacionado a
este campo, incluyendo el person_id, pero si no se le especifica un person_id
el método devuelve toda la información almacenada en la base de datos.
El método post recibe un JSON con la información de una persona sin incluir
su person_id, debido a que este se autogenera por el motor de base de
datos. Si la información recibida es válida la almacena en la base de datos y
responde con un mensaje informando que todo se hizo de manera exitosa,
caso contrario se responde con un mensaje que indica que existió un error
y especifica cuál fue.

4. Realizar la migración. Este paso es importante, pues es aquí donde se genera la base
de datos con los modelos que se programaron en el archivo models.py, para esto se
ejecutan los siguientes comandos.

5. Luego de haber hecho esto solo queda correr de nuevo el servidor y comprobar que
todo funcione.
GUILLERMO J. CASANOVA F.

Como se dijo, si no se especifica ningún person_id en la URI, se retorna toda la


información almacenada en la base de datos.

Por otro lado, cuando se especifica el person_id en la URI se retorna el registro


correspondiente a ese dato. El método get funciona correctamente. Ahora se
probará el método post.
GUILLERMO J. CASANOVA F.

La petición se realizó correctamente, y si se realiza una petición GET se puede


apreciar que se guardó correctamente en la base de datos.

El método post también funciona correctamente.

S-ar putea să vă placă și