๐จ ๐ฝ¶
๐โ ๐ ๐ช ๐จ ๐จ ๐ โฉ๏ธ ๐ป, ๐ ๐ช โ๏ธ 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
๐ฃ ๐จ ๐ฝ ๐ข ๐ข.