FastAPI
![]() | |
Tipus | entorn de treball per a aplicacions web ![]() |
---|---|
Versió estable | |
Llicència | llicència MIT ![]() |
Característiques tècniques | |
Escrit en | Python ![]() |
Equip | |
Fonts de codi | |
Més informació | |
Lloc web | fastapi.tiangolo.com ![]() |
| |
FastAPI és un marc web d'alt rendiment per crear API de servei basades en HTTP a Python 3.8+.[1] Utilitza Pydantic i indicacions de tipus per validar, serialitzar i deserialitzar dades. FastAPI també genera automàticament documentació OpenAPI per a les API creades amb ell.[2] Va ser llançat per primera vegada el 2018.[3]
Components
Pidantic
Pydantic és una biblioteca de validació de dades per a Python. Mentre escriu codi en un IDE, Pydantic proporciona consells de tipus per a la validació i la serialització d'esquemes mitjançant anotacions de tipus.[4]
Starlette
Starlette és un marc/kit d'eines ASGI lleuger, per donar suport a la funcionalitat asíncrona a Python.[5]
Uvicorn
Uvicorn és un servidor web/aplicacions de baix nivell mínim per a marcs asíncrons, seguint l'especificació ASGI. Tècnicament, implementa un model multiprocés amb un procés principal, que s'encarrega de gestionar un conjunt de processos de treball i distribuir-los les sol·licituds HTTP entrants. El nombre de processos de treball està preconfigurat, però també es pot ajustar cap amunt o cap avall en temps d'execució.[6]
Integració OpenAPI
FastAPI genera automàticament documentació OpenAPI per a les vostres API. Aquesta documentació inclou tant Swagger UI com ReDoc, que proporcionen documentació interactiva de l'API que podeu utilitzar per explorar i provar els vostres punts finals en temps real. Això és especialment útil per desenvolupar, provar i compartir API amb altres desenvolupadors o usuaris.
Exemple
El codi següent mostra una aplicació web senzilla que mostra "Hola món!" quan es visita:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return "Hola món!"
Referències
- ↑ «FastAPI» (en anglès). fastapi.tiangolo.com. [Consulta: 10 abril 2024].
- ↑ Lubanovic, Bill. Introducing Python: Modern Computing in Simple Packages (en anglès). 2nd. O'Reilly Media, Inc, 2019-11-06, p. 397, 418. ISBN 9781492051367.
- ↑ «FastAPI» (en anglès). [Consulta: 30 març 2025].
- ↑ «Why use Pydantic - Pydantic» (en anglès). docs.pydantic.dev. [Consulta: 21 setembre 2023].
- ↑ «Starlette» (en anglès). www.starlette.io. [Consulta: 21 setembre 2023].
- ↑ «Restarting 'uvicorn' Workers with the 'SIGHUP' Signal» (en anglès). bugfactory.io. [Consulta: 17 juny 2024].