Fast API를 통해 백엔드에게 정보 보내는 방법

mark1106·2023년 7월 4일
0

기타

목록 보기
1/1
  1. Path parameter
  2. Query parameter
  3. request body

1. Path parameter

어떤 리소스를 식별하고 싶을 때는 path parameter을 사용한다. path는 /(슬래시)를 통해 구분을 한다.
예를 들면 /users/123은 "users들 중 123 아이디를 갖는 유저를 보내주세요" 라는 뜻이다.

ex) http://127.0.0.1:8000/items/1
path 경로 방식(slash로 구분된 아이디가 1인 item을 가져옴)

@app.get('/items/{id}')
def read_id_item(id):
    return items[int(id)]

2. Query parameter

정렬이나 필터링을 하고 싶을 때는 Query parameter을 쓴다. path와 달리 query는 ?을 통해 구분을 한다.
예를 들면 /users?age=20 은 "users들 중에서 age가 20인 유저를 보내주세요" 라는 뜻이다.

ex) http://127.0.0.1:8000/items?skip=0&limit=5
(첫 번째 item부터 최대 5개 item을 가져옴)

@app.get('/items')
def read_item(skip:int=0,limit:int=10): 
    return items[skip:skip + limit]

query 방식(items뒤에 ?을 붙여 query를 넣음으로 정렬되는 필터링을 통해 a~b까지 가져와줘 요청을 보냄)

3. request body

추가하거나 수정하고 싶은 데이터를 서버로 보내 서버에 새로운 데이터 추가

정보가 담길 포맷 생성

class Item(BaseModel):
    id:int
    content:str
@app.post('/items')
def post_item(item:Item):
    items.append(item.content)
    return '성공했습니다!'
profile
뒤돌아보면 남는 것은 사진, 그리고 기록 뿐

0개의 댓글