프로젝트 글 모음
1편: https://malwareanalysis.tistory.com/137
2편: https://malwareanalysis.tistory.com/138
3편: https://malwareanalysis.tistory.com/139
2편에서 다루는 내용
FastAPI개발을 위한 환경설정과 helloworld API를 만드는 과정을 다룹니다.
영상으로도 만나볼 수 있습니다.
1. 준비
Fastapi을 실행하기 위해 파이썬 3.6이상이 필요합니다. 개발 IDE는 vscode를 사용합니다. 파이썬 패키지관리는 virtualenv로 관리합니다.
- 파이썬 3.6이상
- 파이썬 가상환경(virtualenv)
- vscode
2. 프로젝트 구조
[그림1]처럼 프로젝트 파일/폴더를 관리할 것입니다. Fastapi 작업내용과 도커배포를 위한 Dockerfile, 테스트를 위한 docker-compose.yaml파일로 구성됩니다.
3. Fastapi 패키지 설치
fastapi로 개발하기 위해서는 fastapi, uvicorn패키지가 필요합니다. uvicorn은 fastapi를 실행/관리하는 ASGI입니다.
공식문서: https://fastapi.tiangolo.com/#requirements
pip install fastapi
pip install uvicorn[standard]
4. hello world api생성
4.1 api 생성
hello world 예제도 공식문서에 잘 설명이 되어 있습니다. 공식문서 예제를 그대로 복사해서 main.py에 붙여넣기합니다.
공식문서: https://fastapi.tiangolo.com/#example
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}
4.2 fastapi 실행
main.py가 있는 곳에서 uvicorn명령어를 실행하면 fastapi가 실행됩니다. --reload옵션은 fastapi 소스코드가 변경되면 자동으로 fastapi를 재실행하는 옵션입니다.
uvicorn main:app --reload
4.3 api호출
127.0.0.1:8000주소로 api를 요청하면 json타입인 hello world를 볼 수 있습니다.
'전공영역 공부 기록' 카테고리의 다른 글
mariadb 도커 컨테이너 실행 (0) | 2021.08.09 |
---|---|
FastAPI를 이용한 docker-compose API 개발 3편 (0) | 2021.08.09 |
FastAPI를 이용한 docker-compose API 개발 1편 (0) | 2021.08.09 |
쿠버네티스에서 권한이 제한된 개발자 계정 발급 3편 (0) | 2021.08.04 |
쿠버네티스에서 권한이 제한된 개발자 계정 발급 2편 (0) | 2021.08.03 |