import json
from fastapi import APIRouter, Request
router = APIRouter()
@router.post(
"/url",
...
)
async def mapping_endpoint(request: Request):
'''
Request는 await object이기 때문에 await request.form()으로 받아야 한다.
dict, list 타입으로 요청 form data를 확인할 수 있다.
'''
form_param = await request.form()
# _dict, _list 속성
dict_param = form_param._dict
print(f"dict to json => {json.dumps(dict_param, ensure_ascii=False)}")
...
추가적으로 scope 속성에서 GET 요청 시, query string을 읽는 방법도 있다.
import json
from fastapi import APIRouter, Request
router = APIRouter()
@router.get(
"/url",
...
)
async def mapping_endpoint(request: Request):
# b_query_param = request.query_params # type: bytes
query_param = request.scope["query_string"].decode('utf-8') # type: str
query_params = query_param.split("&")
query_param_table = {}
for q in query_params:
k, v = q.split("=")
query_param_table[k] = v
print(f"query_param_table": {query_param_table})
...'파이썬' 카테고리의 다른 글
| 파이썬 임시 이미지 파일 처리 (0) | 2024.11.10 |
|---|---|
| AES256 파이썬 구현 (MODE_EAX, MODE_CBC) (0) | 2024.10.23 |
| FastAPI 이미지 파일을 포함한 form-data 예제 (0) | 2024.10.10 |
| 파이썬 requests SSLError 발생 (운영 환경) (0) | 2024.10.10 |
| KISA 128bit SEED CBC 파이썬 구현 (1) | 2024.09.30 |