DevOps Classroom notes 15/Nov/2025

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]
  • Basic code in main.py
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)
Published
Categorized as Uncategorized Tagged

By continuous learner

devops & cloud enthusiastic learner

Leave a comment

Turn on JavaScript to leave a comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Plugin for Social Media by Acurax Wordpress Design Studio
Exit mobile version
%%footer%%