No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

HTTPException

10/25
Recursos

Aportes 6

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

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 鈾

Manejo de Errores

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