[Fast API 정리] 장고(django) 보다 쉽게 간단한 api 서버를 만들어보자 Get, Post 응답 방식 정리
1. FastApi 기본 구현
공식 튜토리얼을 보고 기본적인 get요청과 post요청을 구현하였습니다.
path로 인자를 전달하는 방법과 쿼리 방식으로 전달해서 응답을 받는 방식과 주로 로그인을 구현할 때는 쓰는 Post 방식이 있으니 아래 예시 코드를 확인하시면 됩니다
from fastapi import FastAPI from pydantic import BaseModel app = FastAPI()
# 기본 Hello API: Get 방식의 응답 # http://127.0.0.1:8000/ 으로
# Get 방식으로 요청하면 hello FastAPI!! 가 리턴됨
@app.get("/")
async def helloFastApI():
return "hello FastAPI!!"
# path 방식으로 인자를 전달 해서 응답을 받는 방식
# http://127.0.0.1:8000/jonadan/
# "Hello jonadan"
@app.get("/{name}/")
async def helloName(name):
return f'Hello {name}'
#쿼리 방식으로 전달해서 응답을 받는 방식
# http://127.0.0.1:8000/items?skip=0&limit=2
fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}]
@app.get("/items")
async def read_item(skip: int = 0, limit: int = 10):
return fake_items_db[skip : skip + limit]
# post 방식으로 전달하여 응답을 받는 방식
class PostReq(BaseModel):
name: str
age: int
@app.post('/post')
async def post_response(req : PostReq):
return f"POST response {req.name}, {req.age}"
2. Post 방식으로 요청하여 응답을 받는 코드
import requests as rq
url = 'http://127.0.0.1:8000/post'
data = {"name":"jonadan","age":66}
res = rq.post(url, json=data) print(res) print(res.text)
print(res) ->>>>> <Response [200]>
print(res) ->>>>> "POST response jonadan, 66"
위와 같은 Get Post 방식으로 요청을 통해 응답을 얻는 방식으로 백엔드를 구성하면 무언가 간단한 프로젝트를 만들수 있지 않을까 생각이 듭니다.
더 공부하는되로 정리하여 올려보겠습니다.
'프로그래밍사업 > 사이드 프로젝트' 카테고리의 다른 글
FASTAPI 사용을 위한 SQLAlchemy(ORM) 기초 - 1탄 초기설정, 데이터 입력하기 (0) | 2022.07.04 |
---|---|
[SQL] Postgres에서 중복도 제거하고 다른 컬럼 기준으로 정렬하기(DISTINCT, ORDER BY, subquery (0) | 2021.11.06 |
장고(django)보다 쉽게 FastAPI로 간단한 CRUD 만들기 (0) | 2021.10.30 |
SQLALCHEMY를 이용한 PostgreSQL 사용법 (0) | 2021.08.16 |
Fast API를 이용한 인스타그램 크롤러 만들기 (0) | 2021.07.28 |
댓글