Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Request Body y Response Body

10/20
Recursos

Aportes 22

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Como aporte:
No es necesario crear una nueva terminal como lo hace el profe en el minuto 4:00, puedes perfectamente seguir usando la misma terminal de la siguiente manera:

  1. Empieza a correr el uvicorn como de costumbre.
  2. Oprime ctrl+z
  3. En este momento tu proceso esta pausado. ahora llevalo al “background” con el comando bg
bg %numero (usualmente será 1 a menos que estes ejecutando otro job en esa misma terminal)
  1. listo ya puedes usar tu terminal tranquilamente, si quieres ahora matar el servidor solo debes traerlo con el comando “fg %numero” y hacer ctrl + c

Todo esto lo puedes hacer en un solo paso añadiendo un & al final del comando con el que activas el servidor (para matar el proceso haces lo mismo que te dije en pasos anteriores). En lo personal yo por comodiad tambien creo otra terminal (justo como hizo el profe) pero no está de más aclarar que si se puede usar la misma 😃

Request Body y Response Body

Debes saber que bajo el protocolo HTTP existe una comunicación entre el usuario y el servidor. Esta comunicación está compuesta por cabeceras (headers) y un cuerpo (body). Por lo mismo, se tienen dos direcciones en la comunicación entre el cliente y el servidor y definen de la siguiente manera:

  • Request : Cuando el cliente solicita/pide datos al servidor.
  • Response : Cuando el servidor responde al cliente.

Request Body

Con lo anterior mencionado, Request Body viene a ser el cuerpo (body) de una solicitud del cliente al servidor.
\

Response Body

Con lo anterior mencionado, Response Body viene a ser el cuerpo (body) de una respuesta del servidor al cliente.

CON CUAL DE LAS SIGUIENTES OPERATIONS NO DEBERIAS ENVIAR JAMAS UN REQUEST BODY:

En este curso usamo tanto Get, Post y Put para enviar request Body… la unica opcion NO usada nunca fue DELETE, pero en la respuesta del examen la coloca como MALA, alguien sabe?

Existe un .gitignore general creado para python. En mi opinión es bueno tenerlo a la mano. Python.gitignore

Para el archivo .gitignore les recomiendo la página https://gitignore.io/ que nos facilitará la creación de este archivo pasándole un conjunto de etiquetas de todas las herramientas que utilizaremos.

Path paramter obligatorio.
Query parameter opcional
Request Body El body de una Petición HTTP
Response body El body de una Respuesta.

Documentacion: https://fastapi.tiangolo.com/tutorial/body/

Un Request Body son datos enviados por el cliente a su API.

Un Response Body son los datos que su API envía al cliente.

Mis Apuntes:

Les recomiendo esta Extension de VScode , Automatiza la creacion de los gitignore, y la verdad es buena.
Ademas, funciona con un monton de lenguajes, no solo Python.

https://marketplace.visualstudio.com/items?itemName=codezombiech.gitignore

Se que no es el centro de la clase, pero al igual que el venv, es bueno ignorar las carpetas pycache/ del proyecto, aquí se guardan archivos que fueron compilados a “bytecode” para que Python los utilice, y compartirlos pueden llevar a bugs bastante difíciles de entender (sobretodo si el equipo de desarrolladores utiliza diferentes sistemas operativos)

Como aporte, no es necesario especificar el “/new” en el path ("/person/new") ya que por convención el método POST es para crear. Si queremos definir los métodos para un CRUD (create, read, update, delete) sería así:

**POST **-> “/person” (Crear una nueva persona)
**GET **-> “/person/{persona_id}” (Recuperar los datos de la persona con id enviado en la petición. Ejemplo ("/person/2")
**PUT **-> “/person/{persona_id}” (Actualizar los datos de la persona con id enviado en la petición).
**DELETE **-> "/person/{persona_id} (Borrar los datos de la persona con id enviado en la petición).

Las solicitudes HTTP funcionan como método de transporte intermedio entre un cliente/aplicación y un servidor.
El cliente envía una solicitud HTTP (request) al servidor y, después del procesamiento, el servidor envía una respuesta (response).
La respuesta (response) contiene información sobre la solicitud (request). Cabe mencionar que, como ya se ha visto en clases anteriores, hay diferentes métodos HTTP y cada uno tiene un propósito especifico.

Cada vez más copado con esta clase

from fastapi import FastAPI

app = FastAPI()

@app.get("/") #path operation decorator
def home(): #path operation function
    return {"First API": "Congratulations"} #JSON


@app.post("/person/new")
def create_person():
    pass

ufff genial. que clasesostas

Este curso parece serie de Netflix, al final de cada clase lo dejan a uno a medias xd

Apunte

@app.get("/")
def home():
    return {#Hello": "World"}

@app.post("/person/new")
def create_person():

Me encanta como te explica que debes de retomar ciertas cosas de cursos pasados

Me gusta que en las clases se siga un protocolo ordenado de git, para que sea cada vez más familiar para todos

de lejos, uno de los mejores profesores de platzi!!

git ignore para FastAPI

.idea
.ipynb_checkpoints
.mypy_cache
.vscode
__pycache__
.pytest_cache
htmlcov
dist
site
.coverage
coverage.xml
.netlify
test.db
log.txt
Pipfile.lock
env3.*
env
docs_build
venv
docs.zip
archive.zip

# vim temporary files
*~
.*.sw?

ya decía yo que le había faltado inicializar el git, había algo raro xD

el como funciona la parte de la comunicación del cliente con el servidor
y en este momento lo explica Facundo

  • Request Body
  • Response Body

Bajo el protocolo HTTP ocurre:
Request : Cuando el cliente solicita/pide datos al servidor.
Response : Cuando el servidor responde al cliente.
El formato utilizado es JSON