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
  1. pip install fastapi

  2. pip install uvicorn (servidor para levantar la aplicación)

  3. pip install pydantic (no es necesario instalarla ya que viene con FastAPI).

  4. 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"}
    
  5. 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}