슈퍼코딩/기초
2024.04.10(수) 슈퍼코딩 신입연수원 2주차 Day 3 후기 - FastAPI
곰돌이볼
2024. 4. 10. 21:16
- API
- path를 사용해야할 때
- 특정 리소스를 식별하기 위해서
- query를 사용해야할 때
- 정렬하거나 필터링하기 위해서
- path를 사용해야할 때
- fastApi 실습코드
- shift+F5 : 완전 새로운 사이트로 접속
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
items = ["맥북", "아이폰", "아이패드"]
class Item(BaseModel):
id:int
content:str
@app.get("/items")
def read_items():
return items
# parameter
@app.get("/items/{id}")
def read_id_items(id):
return items[int(id)]
# query
@app.get("/items")
def read_id_items(skip:int=1, limit:int=10): # 쿼리값으로 들어옴
return items[skip: skip+limit]
# body
@app.post("/items")
def post_item(item:Item):
items.append(item.content)
return '성공했습니다!'
- world에 기능 추가
- 정답을 서버로부터 받아오기
- index.js
const handleEnterKey = async () => {
// 문제 정답(서버로부터 받아오기)
const response = await fetch("/answer");
const response_obj = await response.json();
const answer = response_obj.answer;
}
- main.py
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from pydantic import BaseModel
app = FastAPI()
# 오늘의 정답
answer = 'WORLD'
@app.get('/answer')
def get_answer():
return {"answer" : answer}
# static 경로에 있는 파일을 사용할 예정
app.mount("/", StaticFiles(directory="static", html=True), name="static")
- 백엔드의 CRUD
- C : create
- R : read
- U : update
- D : delete
- Rest API
- REpresentational State Transfer API
- 명세만 봐도 기능을 알 수 있는 API