FastAPI 시작하기

DIORJJ·2024년 5월 21일

FastAPI

목록 보기
3/3
post-thumbnail

1.파이썬 설치 한다.

2.

pip install fastapi

3.

pip install "uvicorn[standard]"
// 실시간 미리보기 

2가지를 터미널에서 설치해준다.

  1. 서버 실행시켜 주는 cli
uvicorn main:app --reload
uvicorn main:app --reload

main.py 코드

from typing import Optional
from fastapi import FastAPI
from fastapi.responses import FileResponse
# html파일같은거 전송해주고 싶을때 요거 improt 해야함.

# 나중에 요기위에다 DB접속해 주세요~~ 코드 넣어라.

app = FastAPI()

# "/" 로 접속했을시
@app.get('/')
def home() :
    return "JINI HI!"


# "/index" 로 접속했을시 html파일 전송함.
@app.get('/index')
def index() :
    return FileResponse("index.html")


# "/data" 로 접속했을시
@app.get("/data")
def data () :
    return {"hello": 12345}
    

@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
    return {"item_id": item_id, "q": q}
# 웹 브라우저로 http://127.0.0.1:8000/items/5?q=test에 접속해봅시다!
# {item_id: 5, q: "test"}로 출력. 



from pydantic import BaseModel
# 서버로 데이터 받을려면 model이 필요하다. 위코드 improt 해와야함.
# 그래서 clas 생성해줌.
class PostModel(BaseModel):
    # 데이터 타입 정의
    name : str
    content : str
    phone: int


# 서버로 데이터 받을려면 model이 필요하다.
# /send로  (name : str  content : str  phone: int) 요 데이터들을 보낼수 있음.
@app.post("/send")
def testSend(data : PostModel) : 
    print(data)  # 보낸데이터 data에 담김. 
    return '전송완료'


# db에서 데이터 꺼내오고 싶을때
@app.get('/getdb')
async def home() :
    # 참고로 async / await 키워드로 비동기 처리기능 사용.
   # await ~~~~
    # 이안에서 db에서 데이터 꺼내주세요~~ 등 db입출력 코드 작성.
    return "JINI HI!"

0개의 댓글