Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.7K
Vistas
¿Cómo llamar a una api desde otra api en fastapi?

Pude obtener la respuesta de una API de otra pero no pude almacenarla en algún lugar (en un archivo o algo antes de devolver la respuesta) response=RedirectResponse(url="/apiname/") (Quiero acceder a una solicitud de publicación con encabezado y cuerpo)

Quiero almacenar este contenido de respuesta sin devolverlo.

Sí, si devuelvo la función obtendré los resultados pero cuando la imprimo no encuentro resultados. Además, si doy una solicitud de publicación, aparece el error Entidad no encontrada.

Leí los documentos de starlette y fastapi pero no pude obtener la solución. Las devoluciones de llamadas tampoco ayudaron.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No obtuve exactamente la forma de almacenar la respuesta sin regresar usando fastapi/starlette directamente. Pero encontré una solución para completar esta tarea.

  • Para las personas que intentan implementar lo mismo, consideren de esta manera.
 import requests def test_function(request: Request, path_parameter: path_param): request_example = {"test" : "in"} host = request.client.host data_source_id = path_parameter.id get_test_url= f"http://{host}/test/{id}/" get_inp_url = f"http://{host}/test/{id}/inp" test_get_response = requests.get(get_test_url) inp_post_response = requests.post(get_inp_url , json=request_example) if inp_post_response .status_code == 200: print(json.loads(test_get_response.content.decode('utf-8')))

Por favor, hágamelo saber si hay mejores enfoques.

over 4 years ago · Santiago Trujillo Denunciar

0

Tengo el mismo problema y necesitaba llamar a la API de terceros de forma asíncrona . Así que probé de muchas maneras y encontré una solución con la biblioteca de solicitudes asíncronas y funciona para mí.

 import http3 client = http3.AsyncClient() async def call_api(url: str): r = await client.get(url) return r.text @app.get("/") async def root(): ... result_1 = await call_api('url_1') result_2 = await call_api('url_2') ...

httpx también puedes usar este video que está usando httpx

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda