728x90
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
'Develop > FastAPI' 카테고리의 다른 글
FastAPI Put Request - 10 (0) | 2022.12.22 |
---|---|
FastAPI Post Request - 09 (0) | 2022.12.22 |
FastAPI Path Parameters(추가) - 07 (0) | 2022.12.21 |
FastAPI Path Parameters(열거형) - 06 (0) | 2022.12.21 |
FastAPI 요청 메서드 로직 - 05 (0) | 2022.12.21 |