Back-end & Server/FastAPI

[FastAPI] 경둜 μž‘λ™ μ„€μ •

Pupbani 2024. 2. 20. 21:15
728x90
λ°˜μ‘ν˜•

 

🐰 FastAPI κ³΅μ‹λ¬Έμ„œλ₯Ό λ³΄λ©΄μ„œ 개인적으둜 μ •λ¦¬ν•œ κΈ€ μž…λ‹ˆλ‹€.

 

경둜 μž‘λ™ λ°μ½”λ ˆμ΄ν„°μ— μ„€μ •ν•  수 μžˆλŠ” λ§€κ°œλ³€μˆ˜λ“€μ΄ μžˆλ‹€.

 

이전 ν¬μŠ€νŠΈμ—μ„œ μ„€λͺ…ν•œ 응닡 μƒνƒœ μ½”λ“œ(status_code) 같은 것이닀.

 

[FastAPI] Form

🐰 FastAPI κ³΅μ‹λ¬Έμ„œλ₯Ό λ³΄λ©΄μ„œ 개인적으둜 μ •λ¦¬ν•œ κΈ€ μž…λ‹ˆλ‹€. μ‘λ‹΅μƒνƒœ HTTPμ—μ„œλŠ” μ‘λ‹΅μƒνƒœμ— 따라 μƒνƒœμ½”λ“œλ₯Ό λ°˜ν™˜ν•œλ‹€. FastAPIμ—μ„œλŠ” status_code λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 응닡에 λŒ€ν•œ HTTP μƒνƒœ μ½”λ“œλ₯Ό

pupbani.tistory.com

 

tag

str둜 κ΅¬μ„±λœ list와 ν•¨κ»˜ λ§€κ°œλ³€μˆ˜ tagsλ₯Ό μ „λ‹¬ν•˜μ—¬, 경둜 μž‘λ™μ— νƒœκ·Έλ₯Ό μΆ”κ°€ν•  수 μžˆλ‹€.

from fastapi import FastAPI

app = FastAPI()

@app.get('/items', tags=['item'])
def getItems():
    return {"items": [1, 2, 3, 4]}

@app.post('/items', tags=['item'])
def postItem():
    return {"item": 3}

@app.get('/users', tags=['user'])
def getUser():
    return {"User": "pupba"}

 

 

Summary and Description

summary(μš”μ•½), description(기술)둜 λ§€κ°œλ³€μˆ˜λ‘œ μš”μ•½κ³Ό κΈ°μˆ μ„ μΆ”κ°€ν•  수 μžˆλ‹€.

from fastapi import FastAPI

app = FastAPI()


@app.get('/items',
         tags=['item'],
         summary="Get Items",
         description="Request '/items' get Items....")
def getItems():
    return {"items": [1, 2, 3, 4]}

 

λ§ˆν¬λ‹€μš΄μœΌλ‘œ Docstring을 μž‘μ„±ν•  수 μžˆλ‹€.

from fastapi import FastAPI

app = FastAPI()

@app.get('/items',
         tags=['item'],
         summary="Get Items")
def getItems():
    """
    Request '/items' get Items
    - {**items** : List}
    """
    return {"items": [1, 2, 3, 4]}

 

 

Response Description

response_description을 톡해 응닡 λ‚΄μš©λ„ 기술 ν•  수 μžˆλ‹€.

from fastapi import FastAPI

app = FastAPI()


@app.get('/items',
         tags=['item'],
         summary="Get Items",
         response_description="Response Json: dictionary key-'items' and value-'List'")
def getItems():
    """
    Request '/items' get Items
    - {**items** : List}
    """
    return {"items": [1, 2, 3, 4]}

 

 

Deprecated

단일 경둜 μž‘λ™μ„ μ—†μ• μ§€ μ•Šκ³  지원쀑단을 ν•΄μ•Όν•œλ‹€λ©΄ deprecated λ§€κ°œλ³€μˆ˜λ₯Ό True둜 ν•˜λ©΄λœλ‹€.

from fastapi import FastAPI

app = FastAPI()


@app.get('/items',
         tags=['item'],
         summary="Get Items",
         response_description="Response Json: dictionary key-'items' and value-'List'",
         deprecated=True)
def getItems():
    """
    Request '/items' get Items
    - {**items** : List}
    """
    return {"items": [1, 2, 3, 4]}

 

728x90
λ°˜μ‘ν˜•