๐จ ๐ฝ¶
๐โ ๐ ๐ช ๐จ ๐จ ๐ โฉ๏ธ ๐ป, ๐ ๐ช โ๏ธ Form.
๐ Form¶
๐ Form โช๏ธโก๏ธ fastapi:
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login/")
async def login(username: str = Form(), password: str = Form()):
return {"username": username}
๐ฌ Form ๐ข¶
โ ๐จ ๐ข ๐ ๐ ๐ ๐ Body โ๏ธ Query:
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login/")
async def login(username: str = Form(), password: str = Form()):
return {"username": username}
๐ผ, 1๏ธโฃ ๐ Oauth2๏ธโฃ ๐ง ๐ช โ๏ธ (๐ค "๐ ๐ง") โซ๏ธ โ ๐จ username & password ๐จ ๐.
๐ ๐ ๐ โซ๏ธโ ๐ username & password, & ๐จ ๐จ ๐, ๐ซ ๐ป.
โฎ๏ธ Form ๐ ๐ช ๐ฃ ๐ ๐ณ โฎ๏ธ Body (& Query, Path, Cookie), ๐ ๐ฌ, ๐ผ, ๐ (โ
user-name โฉ๏ธ username), โ๏ธ.
Info
Form ๐ ๐ ๐ ๐ โช๏ธโก๏ธ Body.
Tip
๐ฃ ๐จ ๐ช, ๐ ๐ช โ๏ธ Form ๐ฏ, โฉ๏ธ ๐ต โซ๏ธ ๐ข ๐ ๐ฌ ๐ข ๐ข โ๏ธ ๐ช (๐ป) ๐ข.
๐ "๐จ ๐"¶
๐ ๐ธ ๐จ (<form></form>) ๐จ ๐ฝ ๐ฝ ๐ โ๏ธ "๐" ๐ข ๐ ๐, โซ๏ธ ๐ โช๏ธโก๏ธ ๐ป.
FastAPI ๐ โ ๐ญ โ ๐ ๐ โช๏ธโก๏ธ โถ๏ธ๏ธ ๐ฅ โฉ๏ธ ๐ป.
๐ก โน
๐ โช๏ธโก๏ธ ๐จ ๐ ๐ โ๏ธ "๐ป ๐" application/x-www-form-urlencoded.
โ๏ธ ๐โ ๐จ ๐ ๐, โซ๏ธ ๐ multipart/form-data. ๐ ๐ โ ๐ ๐ ๐ โญ ๐.
๐ฅ ๐ ๐ โ ๐ ๐ ๐ ๐ข & ๐จ ๐, ๐ณ ๐ ๐ธ ๐ฉบ POST.
Warning
๐ ๐ช ๐ฃ ๐ Form ๐ข โก ๐ ๏ธ, โ๏ธ ๐ ๐ช ๐ซ ๐ฃ Body ๐ ๐ ๐ โ ๐จ ๐ป, ๐จ ๐ โ๏ธ ๐ช ๐ โ๏ธ application/x-www-form-urlencoded โฉ๏ธ application/json.
๐ ๐ซ ๐ซ FastAPI, โซ๏ธ ๐ ๐บ๐ธ๐ ๐ ๏ธ.
๐¶
โ๏ธ Form ๐ฃ ๐จ ๐ฝ ๐ข ๐ข.