개발로 자기계발
article thumbnail
Published 2022. 12. 24. 15:44
FastAPI Form Fields - 27 Develop/FastAPI
728x90
Form Field를 사용해서 데이터를 전달 하는 것이 목표

1. import Form

from fastapi import FastAPI, Form

 

2. 로그인 API 함수 생성

  • FastAPI vesion 0.78.0 버전 부터 Form(...) -> Form() "..." 생략이 가능하다.
@app.post("/books/login")
async def book_login(username: str = Form(...), password: str = Form(...)):
    return {"username":username, "password":password}
  • username과 password의 type hint를 string 지정
  • dict형태로 return 값을 받는다.


3. Swagger 확인

  • Form은 Path Parameter도 Query Parameter도 아닌 것을 확인 할 수 있다.

성공적으로 200 code를 확인

Form은 데이터를 encoding해서 보낸다.
ex) username: admin -> username: %EC%8B%9A
즉, 정보를 부호화/암호화 시킨다.

FastAPI는 이를 자동으로 디코딩을 해서 반환해준다.
ex) username: %EC%8B%9A -> username: admin
즉, 정보를 부호화/암호화를 해제 시킨다.
728x90
SMALL

'Develop > FastAPI' 카테고리의 다른 글

FastAPI Project Assignment - 29  (0) 2022.12.26
FastAPI Headers - 28  (0) 2022.12.24
FastAPI Status Code Response - 26  (0) 2022.12.24
FastAPI Response Model - 25  (0) 2022.12.24
FastAPI Raise HTTP Exception(사용자 지정) - 24  (0) 2022.12.24
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)