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 |