Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 1.32 KB

File metadata and controls

69 lines (50 loc) · 1.32 KB

FastAPI

FastAPI Setup

Dependencies

  • Python 3.9+

Setup

  • mkdir backend
  • cd backend
  • Create a virtual environment: python3 -m venv venv
  • Activate the virtual environment:
    • Mac/Linux: source ./venv/bin/activate
    • Windows: .\venv\Scripts\activate
  • Install the dependencies from requirements.txt
    • pip install -r requirements.txt

Basic FastAPI Without Auth

import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from typing import List

class Fruit(BaseModel):
    name: str

class Fruits(BaseModel):
    fruits: List[Fruit]

app = FastAPI(debug=True)

origins = [
    "http://localhost:3000",
    # Add more origins here
]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

memory_db = {"fruits": []}

@app.get("/fruits", response_model=Fruits)
def get_fruits():
    return Fruits(fruits=memory_db["fruits"])

@app.post("/fruits")
def add_fruit(fruit: Fruit):
    memory_db["fruits"].append(fruit)
    return fruit


if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

Run the API

  • First Way: python main.py
  • Second Way(Recommended): uvicorn main:app --reload