본문 바로가기
카테고리 없음

신기하게 생긴 fastapi 설치 & 사용해보기

by IT_traveler 2022. 12. 5.

안녕하세요

요즘 백엔드를 만들 일이 생겨서 ( 서버리스 비싸.. ) 직접 만들기로 했습니다

백엔드에는 정말 많은 시스템이 있지만 그냥 쉽게 말해서 안 보이는 곳에서 돌아가는 친구라고 보면 되고

 

저는 대표적으로 많이 쓰이고 자료가 많은 ( 스택 오버플로우나 커뮤니티에 물어보기 쉬운 )

파이썬 기반으로 하기로 결정했습니다

아주 든-든 한 프로그램이죠

 

파이썬은 웹개발, 앱 개발, 프로그램 뭐 빠지지 않은 곳이 없는 그런 프로그램인데

저는 Django 와 FastApi를 사용하기로 했습니다

( 여튼 API 서버나 스토리지나 거기서 거기겠죠 )

 

* 이 인간은 백엔드를 메인으로 배우지 않았습니다 *

일단 IDE를 띄워서 터미널을 열어주죠

FASTAPI라는 걸 설치해 봐야 써먹으니까요?

 

https://wikidocs.net/162345

 

01. FastAPI 바로 실행해보기

바로 간단한 서버를 만들어 보겠습니다. 저처럼 만들면서 배우는 사람들은 바로 따라 쳐보시기 바랍니다. 일단 이해가 안 되더라도 하다보면 어느새 이해되는 순간이 옵니다. 이해 …

wikidocs.net

 

여기 가면 아-주 자세하게 설명이 되어있습니다

근데 여러분 위키 안 읽을 거잖아요? 그래서 그냥 아래 있는 거 복붙 하세요

 

 

// 아 저는 가상 환경 그런 거 안 씁니다 ㅋㅋㅋ 

pip install fastapi==0.74.1
pip install "uvicorn[standard]"

아거 복붙 하면 설치는 끝이고요

뭔가 열심히 설치를 하는데 관심 끄고요 우리의 든-든 한 index.py 파일을 생성합니다

 

from fastapi import FastAPI

app = FastAPI()


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

그리고 위키에서 제공한 코드를 돌려봤습니다

uvicorn main:app --reload

실행은 이거로 하라네요

INFO가 하는 말에 따르면 127.0.0.1:8000에 오라네요

 

?

 

아니 위키에서 한 거 그대로 복사했...

 

그래서 다시 하기로 했습니다

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

 

FastAPI

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

fastapi.tiangolo.com

 

일단 공식 문서를 싹 뒤져봤고요

이번에는 CMD 통해서 버전 지정 없이 설치했습니다

pip install fastapi

pip install "uvicorn [standard]"

 

음.. 설치는 잘했고

from typing import Union

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: Union [str, None] = None):
    return {"item_id": item_id, "q": q}

 

이건 공식 페이지 문법인데 TYPING이라고 하는 CLI가 추가되었더라고요?

아하..! 이름이 잘못되었다는 걸 이제 발견!

index.html처럼 index 가 아니었군요,,! main.py로 이름을 바꿔줬습니다

 

오오... 이제 뭔가 돌아갑니다

뭔라는지 관심 없지만 일단 응답이 왔고요

 

이제 이걸로 뭘 할 수 있는지 연구( 복붙 개조 ) 해보기로 했습니다.