bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


fastapi

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
fastapi [2023/06/28 15:32]
xavier_fibla_agustin [Templates]
fastapi [2023/06/28 16:03] (actual)
xavier_fibla_agustin [Requests i responses]
Línia 80: Línia 80:
  
 =====Requests i responses===== =====Requests i responses=====
-PENDENT 
  
  
 +====Path parameters====
 +FastAPI ens permet obtenir dades dinàmiques de les peticions directament de la URL:
  
 +<file python main.py>
 +@app.get("/student/{id}")
 +async def student_info(id:UUID):
 +.....
 +.....
 +    
 +</file>
  
 +
 +====Query parameters====
 +Son paràmetres del tipus clau-valor i s'afegeixen al final de la URL, comencen a partir del signe de pregunta ?. Es poden anar afegint parametres separats pel símbol &. Per exemple:
 +
 +<WRAP center round box 100%>
 +http://localhost:8000/sudents/?skip=0&limit=10
 +</WRAP>
 +
 +<file python main.py>
 +@app.get("/students/")
 +async def get_students(skip: int, limit: int):
 +....
 +....
 +</file>
 +
 +
 +====Default parameters====
 +Seguint amb l'exemple anterior, podem assignar un valor per defecte als paràmtres, d'aquesta forma podem evitar les validacions de parametre requerit.
 +
 +En el següent exemple, els valors per defecte dels dos paràmetres, estan declarats en la definició del mètode de la API.
 +
 +<WRAP center round box 100%>
 +http://localhost:8000/sudents/?skip=0&limit=10
 +</WRAP>
 +
 +<file python main.py>
 +@app.get("/students/")
 +async def get_students(skip: int = 0, limit: int = 10):
 +....
 +....
 +</file>
 +
 +====Optional parameters====
 +Podem declarar paràmetre opcionals, ja siguin paràmtres de la //query// o per //path//. Per fer-ho, necessitem importar el tipus //Optional// del mòdul //typing// 
 +<file python main.py>
 +from typing import Optional
 +
 +@app.get("/student/check")
 +async def chek_student(id: Optional[UUID]=None):
 +....
 +....
 +</file>
 =====Templates===== =====Templates=====
 FastAPI pot integrar el motor de plantilles Jinja on podem utilitzar una sintaxi semblant a Python, és molt semblant al motor de plantilles de Django. FastAPI pot integrar el motor de plantilles Jinja on podem utilitzar una sintaxi semblant a Python, és molt semblant al motor de plantilles de Django.
fastapi.1687966371.txt.gz · Darrera modificació: 2023/06/28 15:32 per xavier_fibla_agustin