개발로 자기계발
article thumbnail
Published 2022. 12. 22. 09:12
FastAPI Query Parameters - 08 Develop/FastAPI
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

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
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)