728x90
반응형
개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경)
처음은 간단한 애플리케이션을 구축해보면서 FastAPI를 경험해보는 시간.
1. 라이브러리 설치 및 소스코드 작성
애플리케이션 개발에 필요한 라이브러리와 패키지를 설치
pip install fastapi uvicorn
이제 api.py라는 파일을 만들어 FastAPI의 새 인스턴스를 생성함.
from fastapi import FastAPI
app = FastAPI()
app 변수에 FastAPI를 초기화해서 라우트를 생성할 수 있다. 웰컴 라우트를 만들어보자.
우선 데코레이터를 사용해 처리 유형을 정의하고 라우트가 호출됐을 때 실행할 처리를 함수로 작성함.
다음 코드는 GET 유형의 요청을 받아서 환영 메시지를 반환하는 "/" 라우트를 만듦.
# 위 코드에 추가
@app.get("/")
async def welcome() -> dict:
return {
"message" : "안녕, 공부 열심히 하렴"
}
*비동기 작업방식은 하나의 작업 단위에서 요청과 응답이 이루어지지 않는 방식이다. (async)
이제 터미널로 돌아가 uvicorn을 사용해 애플리케이션을 시작해보자.
uvicorn api:app --port 8000 --reload
지정 인수에 대한 설명은 다음과 같다.
인수 | 설명 |
api:app | api.py의 FastAPI를 가르키는 변수인 app을 지정함. |
--port 8000 | 애플리케이션에 접속할 수 있는 포트를 지정함. |
--reload | 선택적 인수로, 파일이 변경될 때마다 애플리케이션을 재시작 |
실행결과는 다음과 같다.
새 터미널 창을 열고 GET 요청을 보내 애플리케이션이 제대로 실행되고 있는지 확인한다.
curl http://localhost:8000
또는 브라우저에서 http://localhost:8000에 접속하여 확인할 수도 있다.
반응형
'IT > [Python]' 카테고리의 다른 글
[FastAPI] 3. pydantic 모델을 사용한 요청 바디 검증 (0) | 2023.08.02 |
---|---|
[FastAPI] 2. 라우팅(Routing) (0) | 2023.08.01 |
[Django] 장고 개인 프로젝트 (0) | 2022.05.18 |
[Python] List Comprehension 이해하기 (0) | 2022.02.25 |
[Python] 구글에서 이미지를 수집 해보자 (selenium) (0) | 2022.02.24 |