개발로 자기계발
article thumbnail
728x90

1. 비동기 없이 함수 생성

  • 4개의 책에 Book클래스를 정의
def create_books_no_api():
    book_1 = Book(id="637d1b93-0174-48e7-8959-e17530b6c690",
                  title="Title 1",
                  author="Author 1",
                  description="Description 1",
                  rating=60)
    book_2 = Book(id="637d1b93-0174-48e7-8959-e17530b6c690",
                  title="Title 2",
                  author="Author 2",
                  description="Description 2",
                  rating=60)
    book_3 = Book(id="637d1b93-0174-48e7-8959-e17530b6c690",
                  title="Title 3",
                  author="Author 3",
                  description="Description 3",
                  rating=60)
    book_4 = Book(id="637d1b93-0174-48e7-8959-e17530b6c690",
                  title="Title 4",
                  author="Author 4",
                  description="Description 4",
                  rating=60)
uuid의 값은 https://www.uuidgenerator.net/ 참조

 

2. BOOKS 빈 list에 저장

    BOOKS.append(book_1)
    BOOKS.append(book_2)
    BOOKS.append(book_3)
    BOOKS.append(book_4)

 

3. BOOKS list를 return 하는 함수에 조건을 추가

  • list의 길이가 1보다 작을 경우 위에 생성한 함수를 실행
  • BOOKS list return
@app.get("/")
async def read_all_books():
    if len(BOOKS) < 1:
        create_books_no_api()
    return BOOKS

 

4. Swagger 확인

  • BOOKS list의 길이가 0보다 작았기 때문에 create_books_no_api()의 함수가 실행이 되서 4개의 책이 return 되는 것을 볼 수 있다.
  • 추가적으로 post를 날려서 값을 추가한다면?
  • 더 이상 reate_books_no_api()의 함수가 실행되지 않고 post를 날려 단일로 추가 된 딕셔너리를 볼 수 있다.
728x90
SMALL

'Develop > FastAPI' 카테고리의 다른 글

FastAPI Get Request - 19  (0) 2022.12.22
FastAPI BaseModel 구성 - 18  (0) 2022.12.22
FastAPI Data Validation(추가) - 16  (0) 2022.12.22
FastAPI Fields / Data Validation - 15  (0) 2022.12.22
FastAPI Post Request BaseModel - 14  (0) 2022.12.22
profile

개발로 자기계발

@김잠봉

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