Hola Devs!
También si quieren ordenar mas la forma en que importan las funciones, clases, etc. de un mismo módulo pueden usar esta sintaxis
Espero les sirva 😁
Bienvenida
¿Qué necesitas para seguir aprendiendo FastAPI?
Refactorización y modularización
Response Model
Mejorando la calidad del código: eliminando líneas duplicadas
Status Code personalizados
Entradas de datos avanzadas
Formularios
Resolviendo errores en el código
Cookie y Header Parameters
Archivos
Utilizando las clases File y UploadFile
Manejo de errores
HTTPException
Documentación interactiva
Comenzando a ordenar nuestra documentación: etiquetas
Nombre y descripción de una path operation
Deprecar una path operation
Tu primera API
Presentación del proyecto: Twitter
Configuración inicial del proyecto
Modelos: User
Modelos: Tweet
Esqueleto de las Path Operations: Users
Esqueleto de las Path Operations: Tweets
Registrando usuarios
Creando la lógica del registro de usuarios
Mostrando usuarios
Publicando Tweets
Home de nuestra API
Conclusiones
Has creado tu primera API
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 6
Preguntas 2
Hola Devs!
También si quieren ordenar mas la forma en que importan las funciones, clases, etc. de un mismo módulo pueden usar esta sintaxis
Espero les sirva 😁
Podrás seguir todos mis apuntes escritos en Notion en:
https://rain-scabiosa-74f.notion.site/Curso-de-FastAPI-Avanzado-189668eeee1a45168e46c5be56312967
Si te gusta dejame un corazoncito ♥
Para esto importamos el módulo de FastApi
from fastapi import HTTPException
En caso de que se conozca la posibilidad de que haya un error lo ideal es manejarlo por ejemplo en el detail de una persona si el person_id no existe, manejar el error enviando un 404 Not Found, una forma de hacerlo seria
persons = [1, 2, 3, 4, 5]
@app.get(
path='/person/detail/{person_id}',
status_code=status.HTTP_200_OK
)
def show_person(
person_id: int = Path(
...,
gt=0,
title='Person Id',
description='Person ID on the Database',
example=20
)
):
if person_id not in persons:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail='Person not found'
)
return {person_id: 'it exists!'}
HTTTP
Cuando el cliente intenta acceder a un dato para el cual no tiene permisos o no existe, se usa HTTPException
.
Para ello se importa la clase HTTPException
de FastAPI, en el ejemplo se hace una validación usando un if
para las personas existentes.
Si la persona no existe, se lanza un error, para ello se usa la palabra reservada raise
, es decir, se va elevar una excepción de tipo HTTPException
.
from fastapi import HTTPException
persons = [1, 2, 3, 4, 5, 6, 7]
@app.get(
path='/person/detail/{person_id}',
status_code=status.HTTP_200_OK
)
def show_person(
person_id: int = Path(
...,
gt=0,
title='Person ID',
description='This is the person ID. It is required',
example=30
)
):
if person_id not in persons:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail='This person does not exist!'
)
return {person_id: 'It exists!'}
Otra forma de comprobar nuestros HTTPS:
estupendo
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.