반응형
Fast API
FastAPI는 Python을 사용하여 웹 API를 빠르게 구축하기 위한 웹 프레임워크입니다.
대규모 및 고성능 응용 프로그램에서 사용하기 적합합니다.
이 프레임워크는 비동기 및 병렬처리를 지원하여 빠르고 효율적인 API를 구축할 수 있도록 합니다.
FastAPI의 주요 특징
- 빠르고 효율적인 처리: FastAPI는 asyncio 및 Pydantic과 같은 최신 Python 패키지를 사용하여 높은 처리 속도와 효율성을 제공합니다.
- API 문서 자동 생성: FastAPI는 Swagger UI와 같은 도구를 사용하여 API 문서를 자동으로 생성할 수 있습니다.
- 쉬운 구현: FastAPI는 간단한 구문과 명시적인 타입 힌트를 사용하여 API를 구현할 수 있습니다. 이를 통해 코드 작성과 디버깅이 쉬워집니다.
- Pydantic 지원: FastAPI는 Pydantic 모듈을 사용하여 데이터 유효성 검사와 시리얼라이즈를 자동으로 처리할 수 있습니다.
- 의존성 주입: FastAPI는 의존성 주입(Dependency Injection)을 지원합니다. 이를 통해 코드를 더욱 모듈화하고 재사용성을 높일 수 있습니다.
FastAPI 사용
먼저, FastAPI를 설치합니다.
pip install fastapi
추가로 서버 역할을 하는 uvicorn을 설치합니다.
pip install uvicorn
다음으로, main.py 파일을 생성하고 아래 코드를 추가합니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
위 코드에서는 FastAPI의 FastAPI 클래스를 사용하여 어플리케이션 객체를 생성합니다. 그리고 @app.get("/") 데코레이터를 사용하여 루트 엔드포인트에 대한 GET 요청을 처리하는 함수를 정의합니다. 이 함수는 비동기 함수이며, JSON 형식의 응답을 반환합니다.
마지막으로, 다음 명령어를 사용하여 서버를 실행합니다.
uvicorn main:app --reload
위 명령어에서 main은 파일 이름, app은 어플리케이션 객체를 가리킵니다. --reload 옵션은 코드가 변경될 때 서버를 자동으로 다시 시작하도록 해줍니다.
이제 http://localhost:8000/으로 접속하여 "Hello World" 메시지를 확인할 수 있습니다. 이것은 FastAPI에서 기본적으로 제공하는 Swagger UI와 함께 확인할 수 있습니다.
반응형
'Python' 카테고리의 다른 글
[Python] for문 활용할 때, append, zip 어떤 방식이 성능이 좋을까? (0) | 2024.05.28 |
---|---|
[Python] 웹 크롤링vs웹 스크래핑 (0) | 2021.06.30 |
[Python] 파이썬의 가장 대표적인 패키지들 (0) | 2021.06.29 |
[Python] 스탠다드 라이브러리 vs 외부 라이브러리 (0) | 2021.06.28 |
[Python]__init__파일 (0) | 2021.06.25 |