회사에서 새로운 프로젝트를 시작하게 되었고 백엔드 포지션을 맡았습니다. 요즘 자바스크립트를 공부하고 있었지만 기존에 AI API가 python 으로 되어 있어서 flask, django 중에 고민을 하다가 프론트엔드 분과 협업함에 있어서 문서를 자동으로 적어주고 타입 체킹이 있는 FAST API 를 선택하게 되었습니다.
앞으로의 FAST API 와 관련된 글들은 제가 공부를 하면서 메모? 및 복습용 이므로 설명이 다소 부족할 수 있습니다 양해해주세요!
공식문서를 참조하였습니다.
main.py 파일을 생성합니다.
저는 아나콘다를 사용해 가상환경을 만들어 사용했는데 기존에 환경을 쓰시거나 파이썬 가상환경을 쓰셔도 상관없습니다.
pip install fastapi
pip install 'unicorn[standard]'
설치를 하신뒤
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
main.py 파일에 입력합니다.
Run the live server
unicorn main:app --reload
reload 라는 옵션을 주면 코드가 변경되면 즉시 반영 됩니다.
localhost:8000/docs
를 가셔서 직접 GET 요청을 보낼수 도 있고 POSTMAN 을 사용하셔도 무방합니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
여기서 app
변수는 클래스의 인스턴스가 됩니다 FastApi
이것은 모든 API를 생성하기위한 주요 상호 작용 지점이 될 것입니다.
다음과 같이 앱을 만드는 경우
from fastapi import FastAPI
my_awesome_api = FastAPI()
@my_awesome_api.get("/")
async def root():
return {"message": "Hello World"}
uvicorn main:my_awesome_api --reload
여기서 '경로'는 처음부터 시작하는 URL의 마지막 부분을 나타냅니다
따라서 다음과 같은 URL에서
https://example.com/items/foo
... 경로는 다음과 같습니다.
/items/foo
"경로"는 일반적으로 "엔드 포인트"또는 "루트"라고도합니다.
API를 빌드 할 때 일반적으로 이러한 특정 HTTP 메서드를 사용하여 특정 작업을 수행합니다.
일반적으로 다음을 사용합니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
는 @app.get("/")말한다 FastAPI를 함수가 바로 아래로 이동 요청을 처리 담당입니다 :
다른 작업을 사용할 수도 있습니다.
그리고 더 이국적인 것들 :