FastAPI es un framework de Python que permite la escritura de servicios pequeños y altamente escalables.
Antes de seguir los pasos instalar el environment :
python -m venv venv
venv\\Scripts\\activate
pip install fastapi
pip install uvicorn (servidor para levantar la aplicación)
pip install pydantic (no es necesario instalarla ya que viene con FastAPI).
Crear el servicio en un archivo principal, en este caso myapp.py
# myapp.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"message": "Hello World"}
Levantar el servicio uvicorn myapp:app --host 127.0.0.1 --port 8000 --reload
Response HTML y parámetro
# myapp.py
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get("/")
def root():
return {"message": "Hello World"}
@app.get("/profile/{name}")
def read_root(name: str):
html_response = """
<html>
<title>Hello</title>
<body>
<p>Hello World, {name}!</p>
</body>
</html>
""".format(name=name)
return HTMLResponse(html_response, status_code=200)
Modelos (subclase BaseModel de pydantic)
#Agregar en myapp.py
from pydantic import BaseModel
class Profile(BaseModel):
name: str
lastname: str
age: int
@app.post("/")
def read_profile(profile: Profile):
return {"name": profile.name, "lastname": profile.lastname, "age": profile.age}