from fastapi import FastAPI
app = FastAPI()
@app.get('/user/{username}') #username은 path parameter
def profile(username):
return {f'This is a profile page for {username}'}
@app.get('/products')
def products(id,price): #현재 id는 path parameter가 아님, url에서 /products?id=10 이런 형태로 request하면됨
return {f'Product with an id: {id} and price: {price} '}
Path Parameter는 경로 매개변수로 위의 코드에서 profile함수의 username에 해당한다.
url이 만약에 http://127.0.0.1:8000/user/junehwan 이라고 한다면
여기서 user/ 뒤에 junehwan을 입력하여 이를 매개변수로 받아 리턴값에 반영한다.
junehwan을 입력했을 때의 결과
쿼리란 문자로 ?구분된 URL에서 뒤에 오는 키-값 쌍의 집합으로 위의 코드에서 쿼리 매개변수는 products 함수의 id와 price 해당한다.
url이 만약에 http://127.0.0.1:8000/products?id=20&price=100 이라고 한다면 products/ 뒤에 ?를 이용해 id값과 price값을 입력하고 이를 리턴값에 반영한다.
id=20&price=100을 입력한 결과
이름이 junehwan인 유저를 조회하고 싶다면 Path parameter를 사용하는 것이 좋다.
이름이 junehwan 이면서 나이가 20살인 유저를 조회(필터링 과정)할 때는 Query paramter를 사용하는 것이 좋다.