es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

FastAPI cómo imprimir el código de estado de la solicitud HTTP

Soy un traductor de documentos de TI en español. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown

Soy nuevo en el framework de FastAPI, quiero imprimir el código de estado de respuesta de una solicitud PUT.

@app.put('/user/{id}', status_code=status.HTTP_200_OK) 
async def procesando(id: str, request: Request, response: Response):
    data = await request.json()
    status = response.status_code
    print(status_code)
    logger.info("Obtenida respuesta [%s]", status)
    return data

El estado devuelto es ‘None’. Pero el servidor uvicorn muestra un estado 200 OK. ¿Cómo puedo incluir este código en mi registro/impresión?

Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Deberías cambiar la línea status = response.status_code a status_code = status.HTTP_200_OK porque la variable status realmente se refiere al objeto response en sí mismo, no a su código de estado. Luego, puedes imprimir el código de estado usando print(status_code) o registrarlo con logger.info("Recibida respuesta [%s]", status_code). Aquí está el código actualizado:

    from fastapi import FastAPI, Request, Response, status
    
    app = FastAPI()
    
    @app.put('/usuario/{id}', status_code=status.HTTP_200_OK) 
    async def procesamiento(id: str, request: Request, response: Response):
        data = await request.json()
        status_code = status.HTTP_200_OK
        print(status_code)
        logger.info("Recibida respuesta [%s]", status_code)
        return data
    

Comments are closed.