Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

841
Views
Parámetros de consulta de variables FastAPI

Estoy escribiendo un servidor API rápido que acepta solicitudes, verifica si los usuarios están autorizados y luego los redirige a otra URL si tiene éxito.

Necesito transferir parámetros de URL, por ejemplo

http://localhost:80/data/?param1=val1&param2=val2 debería redirigir a http://some.other.api/?param1=val1&param2=val2 , manteniendo así los parámetros previamente asignados.

Los parámetros no los controlo yo y pueden cambiar en cualquier momento.

¿Cómo puedo conseguir esto?

Código:

 from fastapi import FastAPI from starlette.responses import RedirectResponse app = FastAPI() @app.get("/data/") async def api_data(): params = '' # I need this value url = f'http://some.other.api/{params}' response = RedirectResponse(url=url) return response
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

En los documentos hablan sobre el uso de la Solicitud directamente , lo que me lleva a esto :

 from fastapi import FastAPI, Request from starlette.responses import RedirectResponse app = FastAPI() @app.get("/data/") async def api_data(request: Request): params = request.query_params url = f'http://some.other.api/?{params}' response = RedirectResponse(url=url) return response
over 4 years ago · Santiago Trujillo Report

0

Como se menciona en los documentos de FastAPI https://fastapi.tiangolo.com/tutorial/query-params-str-validations/ .

 @app.get("/") def read_root(param1: Optional[str] = None, param2: Optional[str] = None): url = f'http://some.other.api/{param1}/{param2}' return {'url': str(url)}

producción

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report

0

Si los parámetros de consulta se conocen al iniciar la API pero aún desea que se establezcan dinámicamente:

 from fastapi import FastAPI, Depends from pydantic import create_model app = FastAPI() # Put your query arguments in this dict query_params = {"name": (str, "me")} query_model = create_model("Query", **params) # This is subclass of pydantic BaseModel # Create a route @app.get("/items") async def get_items(params: query_model = Depends()): params_as_dict = params.dict() ...

Esto tiene la ventaja de que ve los parámetros en la documentación automática:

Interfaz de usuario de Swagger

Pero aún puede definirlos dinámicamente (al iniciar la API).

Nota: si su modelo tiene dictados, listas u otros modelos base como tipos de campo, aparece el cuerpo de la solicitud. GET no debe tener contenido de cuerpo, por lo que es posible que desee evitar esos tipos.

Obtenga más información sobre la creación de modelos dinámicos en la documentación de Pydantic .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!