웹 개발/프로젝트

[웹 크롤링 프로젝트] 03. Fast API 시작하기

내만 2022. 11. 15. 21:43
728x90
반응형

 

 

 

 

 

 

🙆‍♂️ FastAPI


Flast나 Django보다 빠르다고 해서 사용해봅니다.

 

https://fastapi.tiangolo.com/ko/

 

FastAPI

FastAPI FastAPI 프레임워크, 고성능, 간편한 학습, 빠른 코드 작성, 준비된 프로덕션 문서: https://fastapi.tiangolo.com 소스 코드: https://github.com/tiangolo/fastapi FastAPI는 현대적이고, 빠르며(고성능), 파이썬

fastapi.tiangolo.com

위 문서를 참고했습니다!

 

pip install fastapi
pip instal "uvicorn[standard]"

위의 두 패키지를 install 했습니다.

 

from fastapi import FastAPI
app = FastAPI()

@app.get("/")
async def root():
    return {"msg" : "Hello World"}

위의 코드를 main.py로 만들었습니다.

꼭 main.py로 해야 합니다.(사실 상관없는데 이유는 밑에서)

 

uvicorn main:app --reload

터미널에서 main.py가 있는 곳까지 가서 명령어를 치면 서버가 실행됩니다.

이 때 API 파일 명을 쳐야합니다.

ex) main.py 라면 위처럼 

test.py라면 밑처럼

uvicorn test:app --reload

 

uvicorn 은 당연히 uvicorn을 쓰는거고

main은 main.py의

app은 FastAPI()가 담긴 변수를 뜻합니다.

--reload는 서버 재시작입니다.

 

만약 main.py가 아닌 test.py로 하고 했다면

uvicorn test:app --reload

이렇게 실행할 수 있었겠네요.

 

from fastapi import FastAPI
app = FastAPI()

@app.get("/")
async def root():
    return {"msg" : "Hello World"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str):
    return {"item_id":item_id, "q":q}

암튼 하나를 더 추가하고 서버를 실행해보면

http://127.0.0.1:8000/items/2?q=12345

위 경로로 이동하면

 

잘 나오는 모습입니다.

 

http://127.0.0.1:8000/docs

위의 코드로 이동하면 

잘 정리된 문서까지 볼 수 있습니다!

 

 

 

 

728x90
반응형