본문 바로가기

Back/FastAPI

1. 기본 예시

0. 최상단 - 라이브러리 import, Aplication 호출

from fastapi import FastAPI
import uvicorn

app = FastAPI()

 

1. Get End point

@app.get("/")
async def main():
    return {"message": "Hello World!"}

 

1-1 Query, Path String 설정

@app.get("/{path}/")
async def main(path,query: str=""):

    return {"message": f"query: {query}, path: {path}"}

 

  • 경로 매개 변수가 아닌 다른 함수 매개 변수는 전부 Query String 으로 설정 됩니다.
  • 타입과 기본값을 지정할 수 있습니다.(query, 타입 str, 기본값 "")

 

1-2 Union, Optional 설정

@app.get("/main2")
async def main2(path:Union[str,None]=None, query: Optional[str]=None):

    return {"message": f"query: {query}, path: {path}, main2"}
  • Union은 [ ]안에 들어갈 수 있는 타입을 전부 넣습니다.
  • Optional 은 하나의 타입만 지정하며 기본값으로 None을 가집니다.

 

2. Post End point

@app.post("/")
async def main():
    return {"message": "Hello Post!"}

2-1 Request body

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: Optional[str] = None
    price: float
    tax: Optional[float] = None
    
@app.post("/")
async def main(item: Item):
    return item
  • Pydantic을 통한 Class model 생성으로 Request body에 들어갈 항목들을 설정할 수 있다.
  • get 에 설명된 query parameters와 path string 또한 사용가능 하다.

'Back > FastAPI' 카테고리의 다른 글

0.FastAPI 설치  (0) 2022.11.12