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도 아닌 것을 확인 할 수 있다.
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 |