프레임워크, 고성능, 빠르고 쉬움
pip install fastapi // fastAPI 설치하기python -m pip install --upgrade pip // 핍(pip) 최신 버전으로 설치하기pip install "uvicorn[standard]" // 실시간 미리보기를 보기 위해서 설치Svelte 설치하기
npm create vite@latest fronted -- --template svelte
cd fronted
npm install
VSCode 확장에서 Svelte for VS Code 설치하기
pip install sqlalchemy// ORM 라이브러리 중 SQLAlchemy 라이브러리 설치
pip install alembic// SQLAlchemy의 alembic 설치
alembic init migrations// alembic 초기화 작업 진행
#서버를 만들기 위한 세팅
from fastapi import FastAPI
app = FastAPI() # FastAPI "인스턴스" 생성
#html 파일 전송
from fastapi.responses import FileResponse
# 데이터를 받기 위해 모델 생성
from pydantic import BaseModel
class Model(BaseModel):
name :str # 문자를 받음
phone :int # 숫자
@app.get("/") # 메인페이지
def read_root():
return FileResponse('index.html') # 접속시 html 파일 전송
@app.get("/items") # /items 접속시
def read_item():
return {"Hello : World"} # hello World 데이터 보냄
@app.post("/send") # 유저에게 데이터 받기
def get_data(data : Model): # 보낸 데이터 담겨있음
return '전송완료'
async/await 키워드로 비동기처리기능 사용
async def 사용
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
HTTP 메소드
get: 데이터를 읽기 위해post: 데이터를 생성하기 위해PUT: 데이터를 업데이트하기 위해DELETE: 데이터를 삭제하기 위해OpenAPI에서 각 HTTP 메소드들을 "동작"이라 부름
데코레이터
@app.something
아래 있는 함수를 받고 그걸 이용해서 무언가함
데코레이터는 FastAPI에게 아래 함수가 경로 /에 해당하는 동작하라고 알려줌
경로: /
동작: get
함수: '데코레이터' 아래에 있는 것 (@app.get("/") 아래)
uvicorn main:app --reload main: main.py 파일 (파이썬 "모듈")
--reload: 코드가 변경된 후 서버 재시작하기
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [18240]
INFO: Started server process [23836]
INFO: Waiting for application startup.
INFO: Application startup complete.
/docs 접속시 서버기능들을 문서 자동으로 만들어줌 // Swagger
/redoc 접속시 다른 버전으로 api 문서 제공, 읽기 전용
/openapi.json // 기본적인 api
무언가의 정의 또는 설명