본문 바로가기

[Fast API 정리] 장고(django) 보다 쉽게 간단한 api 서버를 만들어보자 Get, Post 응답 방식 정리

ironwhale 2021. 6. 27.

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 방식으로 요청을 통해 응답을 얻는 방식으로 백엔드를 구성하면 무언가 간단한 프로젝트를 만들수 있지 않을까 생각이 듭니다.
더 공부하는되로 정리하여 올려보겠습니다.

댓글