Develop/FastAPI
FastAPI Query Parameters - 08
동석해요
2022. 12. 22. 09:12
728x90
SMALL
1. dictionary 정의
BOOKS = {
'book_1': {'title':'Title One','author':'Author One'},
'book_2': {'title':'Title Two','author':'Author Two'},
'book_3': {'title': 'Title Three', 'author': 'Author Three'},
'book_4': {'title': 'Title Four', 'author': 'Author Four'},
'book_5': {'title': 'Title Five', 'author': 'Author Five'},
}
2. 함수안에 매개변수 정의
- skip_book은 string을 받고 Default 값으로 book_3으로 지정한다.
- new_books라는 변수에 BOOKS dictionary을 copy(원본은 변하지 않음)
- skip_book의 매개변수로 값이 들어 올 때 new_book의 키 값에 해당하는 값을 삭제 하고 return
@app.get("/")
async def read_all_books(skip_book: str = "book_3"):
new_books = BOOKS.copy()
del new_books[skip_book]
return new_books
-
- Deafault 값 지정으로 인해 book_3은 삭제 된 상태에서 return

-
- skip_book에 book_4를 넣으면 book_4가 삭제 된 상태로 return

3. 함수안에 Optional 매개변수 정의
- Optional 매개변수는 항상 끝에 존재해야한다.
- OPtional은 단어 뜻 대로 선택사항으로 필수로 넘겨 줄 필요가 없다는 말
@app.get("/")
async def read_all_books(skip_book: Optional[str] = None):
if skip_book:
new_books = BOOKS.copy()
del new_books[skip_book]
return new_books
return BOOKS
- Default는 None으로 skip_book 값이 없으면 BOOKS를 return
- skip_book값이 있다면 new_books를 return
728x90
SMALL