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 ReplyCancel reply

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

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%