100일 챌린지/빅데이터기반 인공지능 융합 서비스 개발자
Day 86 - fastAPI 사용하기 (1)
ksyke
2024. 11. 29. 17:58
main.py
from fastapi.responses import HTMLResponse
import fastapi
from fastapi.templating import Jinja2Templates
from fastapi import Request
import dept
app=fastapi.FastAPI()
templates=Jinja2Templates(directory="templates")
app.include_router(dept.router)
@app.get("/")
def index(request: Request):
# return {"key1":"val1"}
# return ["item1","item2"]
# return HTMLResponse("<h1>메인 페이지입니다.</h1>")
return templates.TemplateResponse('index.html',{"request":request})
@app.get("/intro",response_class=HTMLResponse)
def intro():
return "<img src='https://www.inje.ac.kr/kor/assets/images/sub/gimhae-campus-1-241008.jpg'/>"
dept.py
import mysql.connector
from fastapi import APIRouter
router=APIRouter(prefix='/dept')
mydb=mysql.connector.connect(
host="localhost",
user="scott",
password="tiger"
)
@router.get("/")
def list():
mycursor=mydb.cursor()
sql="select * from dept"
mycursor.execute(sql)
data=list(mycursor.fetchall())
mycursor.close()
return data
@router.post("/add")
def add(deptno:int,dname:str,loc:str):
val=(deptno,dname,loc)
mycursor=mydb.cursor()
sql="insert into dept values ({},'{}','{}'}".format(deptno,dname,loc)
mycursor.execute(sql)
mydb.commit()
mycursor.close()
return val