A books api using fastapi
- Lets create a project for movies svc
mkdir movies_svc
cd movies_svc
uv init --package .
uv add fastapi[standard]
from fastapi import FastAPI
app = FastAPI(title="Movies-Svc", version="1.0.0")
@app.get("/")
def welcome():
return { "message": "Welcome" }
- refer the following sample code for basic apis
from fastapi import FastAPI, status
from pydantic import BaseModel
app = FastAPI(title="Movies-Svc", version="1.0.0")
class CalcRequest(BaseModel):
a: int
b: int
class CalcResponse(CalcRequest):
result: int
class GreetRequest(BaseModel):
name: str
occasion: str
class GreetResponse(GreetRequest):
message: str
@app.get("/")
def welcome(name:str = "FastApi", occasion:str = None):
return { "message": f"Welcome {name} on {occasion}" }
@app.post("/greet", response_model=GreetResponse, status_code=status.HTTP_200_OK)
def greet(req: GreetRequest):
return GreetResponse(
name=req.name,
occasion=req.occasion,
message=f"Welcome {req.name} on {req.occasion}"
)
@app.post("/calc/add", response_model=CalcResponse, status_code=status.HTTP_201_CREATED)
def add(data: CalcRequest):
return CalcResponse(result= data.a + data.b, a=data.a, b= data.b)
@app.post("/calc/sub", response_model=CalcResponse, status_code=status.HTTP_201_CREATED)
def sub(data: CalcRequest):
return CalcResponse(result= data.a - data.b, a=data.a, b= data.b)
@app.post("/calc/mul", response_model=CalcResponse, status_code=status.HTTP_201_CREATED)
def mul(data: CalcRequest):
return CalcResponse(result= data.a * data.b, a=data.a, b= data.b)
Like this:
Like Loading...