๐, ๐ & ๐บ¶
โซ๏ธโ ๐ฎ FastAPI, โ โซ๏ธ ๐ฌ ๐ ๐ & โซ๏ธโ โซ๏ธ ๐ญ๐ฒ โช๏ธโก๏ธ ๐ซ.
๐ถ¶
FastAPI ๐ซ๐ ๐ ๐ฅ ๐ซ โฎ๏ธ ๐ท ๐.
๐ค โ๏ธ ๐ ๐งฐ โ โญ ๐ โ๏ธ โน ๐ฎ ๐ฎ ๐.
๐ค โ๏ธ โ ๐ ๐ ๐ ๏ธ ๐ 1๏ธโฃ2๏ธโฃ๐๏ธ. ๐ฅ ๐ค ๐ โ ๐ โ ๐ FastAPI โ๏ธ ๐ ๐ ๐ ๏ธ, ๐-๐, & ๐งฐ.
โ๏ธ โ, ๐ค ๐ โโ ๐ ๐ ๐ ๐ ๐ณ ๐ ๐ ๐ ๐ซ โ, โ ๐ ๐ญ โช๏ธโก๏ธ โฎ๏ธ ๐งฐ, & ๐ ๐ซ ๐ ๐ ๐ช, โ๏ธ ๐ช๐ธ โ ๐ โ๐ซ ๐ช โญ (๐ 3๏ธโฃ.6๏ธโฃ โ ๐ ๐).
โฎ๏ธ ๐งฐ¶
โณ¶
โซ๏ธ ๐ ๐ ๐ ๐ ๏ธ & ๐ ๐ด. โซ๏ธ โ๏ธ ๐ โ๏ธ ๐ ๐ฑ๐.
โซ๏ธ ๐ถ ๐ ๐ โฎ๏ธ ๐ ๐ฝ (๐ โณ โ๏ธ โณ),, โ๏ธ โ ๐ฝ (๐ ๐, โณ, ๐ธ, โ๏ธ) ๐ ๐ช ๐ ๐ซ ๐ถ โฉ.
โซ๏ธ โ ๐ ๐ธ ๐ฉโ๐ป, ๐ซ โ ๐ โ๏ธ ๐ ๐ธ (๐ ๐ฅ, Vue.js & ๐) โ๏ธ ๐ โ๏ธ (๐ โ ๐ณ) ๐ โฎ๏ธ โซ๏ธ.
โณ ๐ ๐ ๏ธ¶
โณ ๐ ๐ ๏ธ โ ๐ ๐งฐ ๐ ๐ธ ๐ โ๏ธ โณ ๐, ๐ ๐ฎ ๐ ๏ธ ๐ ๏ธ.
โซ๏ธ โ๏ธ ๐ ๐ข โ ๐ฆ, ๐ฅ ๐ & ๐.
โซ๏ธ ๐ ๐ฅ ๐ผ ๐ง ๐ ๏ธ ๐งพ, & ๐ ๐ฏ ๐ ๐ฅ ๐ญ ๐ ๐ฎ "๐" FastAPI.
Note
โณ ๐ ๐ ๏ธ โ โก ๐บ๐ธ๐. ๐ ๐ผ ๐ & Uvicorn, ๐ โ FastAPI โ๏ธ.
๐ฎ FastAPI
โ๏ธ ๐ง ๐ ๏ธ ๐งพ ๐ธ ๐ฉโ๐ป ๐ข.
๐บ¶
๐บ "๐ธ", โซ๏ธ ๐ซ ๐ ๐ฝ ๐ ๏ธ ๐ซ ๐ ๐ ๐ ๐ ๐ข โณ.
๐ ๐ฆ & ๐ช โ ๐จ ๐ ๐ โ๏ธ โ ๐ฝ ๐ ๐ฝ ๐พ โ๏ธ.
โซ๏ธ ๐ถ ๐ , โซ๏ธ ๐ถ ๐๏ธ ๐ก, ๐ ๐งพ ๐ค ๐ ๐ก โ.
โซ๏ธ ๐ โ๏ธ ๐ ๐ธ ๐ ๐ซ ๐ฏ ๐ช ๐ฝ, ๐ฉโ๐ป ๐งพ, โ๏ธ ๐ ๐ โ ๐ ๐ ๐ค-๐ โณ. ๐ ๐ ๐ซ โ ๐ช ๐ฎ โฎ๏ธ ๐-๐.
๐ โ ๐, & โ "๐ธ" ๐ ๐ช โ ๐ โซ๏ธโ โซ๏ธโ ๐ช ๐ โ ๐ ๐ค ๐ ๐ง.
๐ ๐ฆ ๐บ, โซ๏ธ ๐ ๐ ๐ ๐ ๐ ๐. โญ ๐ ๐ "โณ ๐ ๐ ๏ธ" ๐บ.
๐ฎ FastAPI
โพ-๐ ๏ธ. โ โซ๏ธ โฉ ๐ & ๐ ๐งฐ & ๐ ๐ช.
โ๏ธ ๐ & โฉ โ๏ธ ๐น โ๏ธ.
๐จ¶
FastAPI ๐ซ ๐ค ๐ ๐จ. ๐ซ โ ๐ถ ๐.
โซ๏ธ ๐ ๐ค โ โ๏ธ ๐จ ๐ FastAPI ๐ธ.
โ๏ธ, FastAPI ๐ค ๐ โช๏ธโก๏ธ ๐จ.
๐จ ๐ ๐ โฎ๏ธ ๐ (๐ฉโ๐ป), โช FastAPI ๐ ๐ ๐ (๐ฝ).
๐ซ, ๐ โ๏ธ ๐, ๐ ๐, ๐ ๐ ๐.
๐จ โ๏ธ ๐ถ ๐ & ๐๏ธ ๐ง, โซ๏ธ ๐ถ โฉ โ๏ธ, โฎ๏ธ ๐ค ๐ข. โ๏ธ ๐ ๐ฐ, โซ๏ธ ๐ถ ๐๏ธ & ๐.
๐ โซ๏ธโ, ๐ฌ ๐ ๐ธ:
> ๐จ 1๏ธโฃ ๐ โฌ ๐ ๐ฆ ๐ ๐ฐ
๐ ๐ โ๏ธ โซ๏ธ ๐ถ ๐
. ๐ผ, GET
๐จ, ๐ ๐ โ:
response = requests.get("http://example.com/some/url")
FastAPI ๐ ๐ ๏ธ โก ๐ ๏ธ ๐ช ๐ ๐:
@app.get("/some/url")
def read_url():
return {"message": "Hello World"}
๐ ๐ requests.get(...)
& @app.get(...)
.
๐ฎ FastAPI
- โ๏ธ ๐ & ๐๏ธ ๐ ๏ธ.
- โ๏ธ ๐บ๐ธ๐ ๐ฉโ๐ฌ ๐ (๐ ๏ธ) ๐, ๐ฏ & ๐๏ธ ๐.
- โ๏ธ ๐ค ๐ข, โ๏ธ ๐๏ธ ๐.
๐ฆ / ๐¶
๐ โ ๐ค ๐ โช๏ธโก๏ธ โณ ๐ ๐ ๏ธ ๐ง ๐ ๏ธ ๐งพ.
โคด๏ธ ๐ค ๐ ๐ ๐ค ๐ฉ ๐ ๐, โ๏ธ ๐ป (โ๏ธ ๐, โ ๐ป) ๐ค ๐ฆ.
& ๐ค ๐ธ ๐ฉโ๐ป ๐ข ๐ฆ ๐ ๏ธ โช โ. , ๐โโ ๐ช ๐ ๐ฆ ๐งพ ๐ ๏ธ ๐ โ โ๏ธ ๐ ๐ธ ๐ฉโ๐ป ๐ข ๐.
โ, ๐ฆ ๐ ๐พ ๐, ๐ ๐.
๐ โซ๏ธโ ๐โ ๐ฌ ๐ โฌ 2๏ธโฃ.0๏ธโฃ โซ๏ธ โ ๐ฌ "๐ฆ", & โฌ 3๏ธโฃ โ "๐".
๐ฎ FastAPI
๐ ๏ธ & โ๏ธ ๐ ๐ฉ ๐ ๏ธ ๐ง, โฉ๏ธ ๐ ๐.
& ๐ ๏ธ ๐ฉ-โ๏ธ ๐ฉโ๐ป ๐ข ๐งฐ:
๐ซ 2๏ธโฃ ๐ โ ๐ถ ๐ & โ, โ๏ธ ๐จ โฉ ๐, ๐ ๐ช ๐ ๐ฏ ๐ ๐ ๐ฉโ๐ป ๐ข ๐ (๐ ๐ ๐ช โ๏ธ โฎ๏ธ FastAPI).
๐บ ๐ ๐ ๏ธ¶
๐ค ๐ ๐บ ๐ ๐ ๏ธ, โ๏ธ โฎ๏ธ ๐ฐ ๐ฐ & ๐ท ๐ ๐ฌ ๐ซ, ๐ค ๐ ๐ ๐ ๐ โ๏ธ ๐ซ, โฎ๏ธ ๐ ๐ง โ ๐ โ ๐ซ ๐.
๐ญ¶
1๏ธโฃ ๐ โ ๐ช ๐ ๏ธ โ๏ธ ๐ "๐ ๏ธ" โ โ ๐ โช๏ธโก๏ธ ๐ (๐) & ๐ญ โซ๏ธ ๐ ๐ณ ๐ ๐ช ๐จ ๐ ๐ธ. ๐ผ, ๐ญ ๐ โ ๐ โช๏ธโก๏ธ ๐ฝ ๐ ๐ป ๐. ๐ญ datetime
๐ ๐ ๐ป, โ๏ธ.
โ1๏ธโฃ ๐ฆ โ ๐ ๐ ๐ฝ ๐ฌ, โ ๐ญ ๐ ๐ฝ โ, ๐ค ๐ฏ ๐ข. ๐ผ, ๐ ๐ int
, & ๐ซ ๐ฒ ๐ป. ๐ โด๏ธ โ ๐จ ๐ฝ.
๐ต ๐ฝ ๐ฌ โ๏ธ, ๐ ๐ โ๏ธ ๐ โ โ, ๐.
๐ซ โ โซ๏ธโ ๐ญ ๐ ๐. โซ๏ธ ๐ ๐, & ๐ค โ๏ธ โ๏ธ โซ๏ธ ๐ โญ.
โ๏ธ โซ๏ธ โ โญ ๐ค ๐ ๐ ๐ ๐. , ๐ฌ ๐ ๐ ๐ ๐ช โ๏ธ ๐ฏ ๐จ๐ป & ๐ ๐ ๐ญ.
๐ฎ FastAPI
โ๏ธ ๐ ๐ฌ "๐" ๐ ๐ ๐ฝ ๐ & ๐ฌ, ๐.
Webarg¶
โ1๏ธโฃ ๐ฆ โ โ ๐ โ ๐ โช๏ธโก๏ธ ๐จ ๐จ.
Webarg ๐งฐ ๐ โ ๐ ๐ ๐ ๐ ๐ ๐ ๏ธ, ๐ ๐บ.
โซ๏ธ โ๏ธ ๐ญ ๐ ๐ฝ ๐ฌ. & โซ๏ธ โ ๐ ๐ฉโ๐ป.
โซ๏ธ ๐ ๐งฐ & ๐ค โ๏ธ โ๏ธ โซ๏ธ ๐ ๐โโ๏ธ, โญ โ๏ธ FastAPI.
Info
Webarg โ ๐ ๐ญ ๐ฉโ๐ป.
๐ฎ FastAPI
โ๏ธ ๐ง ๐ฌ ๐จ ๐จ ๐ฝ.
APISpec¶
๐ญ & Webarg ๐ ๐ฌ, โ & ๐ ๏ธ ๐-๐.
โ๏ธ ๐งพ โ. โคด๏ธ APISpec โ.
โซ๏ธ ๐-๐ ๐ ๏ธ (& ๐ค ๐-๐ ๐โโ๏ธ).
๐ โซ๏ธ ๐ท ๐ ๐ โ ๐ ๐ โ๏ธ ๐ ๐ ๐ #๏ธโฃ ๐ ๐ข ๐ ๐ฃ.
& โซ๏ธ ๐ ๐ ๐.
๐ โ โซ๏ธ ๐ท ๐บ, ๐, ๐, โ๏ธ.
โ๏ธ โคด๏ธ, ๐ฅ โ๏ธ ๐ โ โ๏ธ โพ-โ, ๐ ๐ ๐ป (๐ฆ ๐).
๐จโ๐จ ๐ช ๐ซ โน ๐ โฎ๏ธ ๐. & ๐ฅ ๐ฅ ๐ ๐ข โ๏ธ ๐ญ ๐ & ๐ญ ๐ ๐ ๐#๏ธโฃ, ๐ ๐ ๐ โ.
Info
APISpec โ ๐ ๐ญ ๐ฉโ๐ป.
๐ฎ FastAPI
๐โ๐ฆบ ๐ ๐ฉ ๐ ๏ธ, ๐.
๐บ-Apispec¶
โซ๏ธ ๐บ ๐ -, ๐ ๐ ๐ฏโโ๏ธ Webarg, ๐ญ & APISpec.
โซ๏ธ โ๏ธ โน โช๏ธโก๏ธ Webarg & ๐ญ ๐ ๐ ๐ ๐, โ๏ธ APISpec.
โซ๏ธ ๐ ๐งฐ, ๐ถ ๐ฝ-๐. โซ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ ๐บ ๐-๐ ๐ ๐ค. โซ๏ธ ๐ช โฉ๏ธ ๐ฎ ๐งพ โ ๐โโ๏ธ ๐ฉฒ & ๐.
๐ โ โ๏ธ โ ๐ (โ1๏ธโฃ โ) ๐ ๐ โ.
๐ ๐ ๐บ, ๐บ-Apispec โฎ๏ธ ๐ญ & Webarg ๐ ๐ ๐ฉโ๐ป ๐ โญ ๐ FastAPI.
โ๏ธ โซ๏ธ โ๏ธ ๐ ๐ ๐บ ๐-๐ ๐. ๐ซ ๐ ๐ ๐ค (& ๐ ๐ข ๐) โ๏ธ โ๏ธ ๐ ๐:
- https://github.com/tiangolo/full-stack
- https://github.com/tiangolo/full-stack-flask-couchbase
- https://github.com/tiangolo/full-stack-flask-couchdb
& ๐ซ ๐ ๐-๐ ๐ ๐งข FastAPI ๐ ๐.
Info
๐บ-Apispec โ ๐ ๐ญ ๐ฉโ๐ป.
๐ฎ FastAPI
๐ ๐ ๐ ๐, โช๏ธโก๏ธ ๐ ๐ ๐ ๐ฌ ๐ ๏ธ & ๐ฌ.
NestJS (& ๐)¶
๐ โ๐ซ ๐ซ ๐, NestJS ๐ธ (๐) โณ ๐ ๏ธ ๐ฎ ๐.
โซ๏ธ ๐ ๐ณ ๐ ๐ โซ๏ธโ ๐ช ๐จ โฎ๏ธ ๐บ-Apispec.
โซ๏ธ โ๏ธ ๐ ๏ธ ๐ ๐ โ๏ธ, ๐ฎ ๐ 2๏ธโฃ. โซ๏ธ ๐ ๐ค-ยฎ "๐" (๐ ๐ ๐ ๐ ๐ โ๏ธ ๐ค ๐ญ),, โซ๏ธ ๐ฎ ๐ญ & ๐ ๐.
๐ข ๐ฌ โฎ๏ธ ๐ ๐ (๐ ๐ ๐ ๐), ๐จโ๐จ ๐โ๐ฆบ ๐.
โ๏ธ ๐ ๐ ๐ซ ๐ก โฎ๏ธ ๐น ๐ธ, โซ๏ธ ๐ซ๐ โ๏ธ ๐ ๐ ๐ฌ ๐ฌ, ๐ ๏ธ & ๐งพ ๐ ๐ฐ. โฉ๏ธ ๐ & ๐ง ๐ซ, ๐ค ๐ฌ, ๐ ๏ธ & ๐ง ๐ โก, โซ๏ธ ๐ช ๐ฎ ๐จโ๐จ ๐ ๐ฅ. , โซ๏ธ โถ๏ธ๏ธ ๐.
โซ๏ธ ๐ช ๐ซ ๐ต ๐ ๐ท ๐ถ ๐. , ๐ฅ ๐ป ๐ช ๐จ ๐ป ๐ ๐ โ๏ธ ๐ ๐ ๐ ๐ ๐ฆ ๐ป ๐, โซ๏ธ ๐ซ๐ โ ๐ & โ.
๐ฎ FastAPI
โ๏ธ ๐ ๐ โ๏ธ ๐ ๐จโ๐จ ๐โ๐ฆบ.
โ๏ธ ๐๏ธ ๐ ๐ โ๏ธ. ๐ ๐ ๐ ๐ ๐.
๐คฃ¶
โซ๏ธ ๐ ๐ฅ ๐ถ โฉ ๐ ๐ ๏ธ โ๏ธ ๐ asyncio
. โซ๏ธ โ ๐ถ ๐ ๐บ.
๐ก โน
โซ๏ธ โ๏ธ uvloop
โฉ๏ธ ๐ข ๐ asyncio
โฐ. ๐ โซ๏ธโ โ โซ๏ธ โฉ.
โซ๏ธ ๐ฏ ๐ฎ Uvicorn & ๐, ๐ โณ โฉ ๐ ๐คฃ ๐ ๐.
๐ฎ FastAPI
๐ ๐ โ๏ธ ๐ ๐ญ.
๐ โซ๏ธโ FastAPI โ๏ธ ๐ ๐, โซ๏ธ โฉ ๐ ๏ธ ๐ช (๐ฏ ๐ฅ-๐ฅณ ๐).
๐ฆ ¶
๐ฆ โ1๏ธโฃ โ ๐ญ ๐ ๐ ๏ธ, โซ๏ธ ๐ง โญ, & ๐ท ๐ ๐ ๐ ๏ธ ๐ ๐ค.
โซ๏ธ ๐ โ๏ธ ๐ข ๐ ๐จ 2๏ธโฃ ๐ข, 1๏ธโฃ "๐จ" & 1๏ธโฃ "๐จ". โคด๏ธ ๐ "โ" ๐ โช๏ธโก๏ธ ๐จ, & "โ" ๐ ๐จ. โฉ๏ธ ๐ ๐ง, โซ๏ธ ๐ซ ๐ช ๐ฃ ๐จ ๐ข & ๐ช โฎ๏ธ ๐ฉ ๐ ๐ ๐ ๐ข ๐ข.
, ๐ฝ ๐ฌ, ๐ ๏ธ, & ๐งพ, โ๏ธ โ ๐, ๐ซ ๐. โ๏ธ ๐ซ โ๏ธ ๐ ๏ธ ๐ ๏ธ ๐ ๐ ๐ฆ , ๐ ๐ค. ๐ ๐ ๐บ ๐จ ๐ ๐ ๏ธ ๐ ๐ฎ ๐ฆ ๐ง, โ๏ธ 1๏ธโฃ ๐จ ๐ & 1๏ธโฃ ๐จ ๐ ๐ข.
๐ฎ FastAPI
๐ ๐ ๐ค ๐ ๐ญ.
โคด๏ธ โฎ๏ธ ๐ค (๐ค โ๏ธ ๐ ๐ฆ
) ๐ฎ FastAPI ๐ฃ response
๐ข ๐ข.
๐ FastAPI โซ๏ธ ๐ฆ, & โ๏ธ โด๏ธ โ ๐, ๐ช, & ๐ ๐ ๐.
โจ¶
๐ค ๐ โจ ๐ฅ โถ๏ธ ๐ FastAPI. & โซ๏ธ โ๏ธ ๐ ๐ญ:
- โ๏ธ ๐ ๐ ๐ ๐.
- ๐ฌ & ๐งพ โช๏ธโก๏ธ ๐ซ ๐.
- ๐ ๐ โ๏ธ.
โซ๏ธ ๐ซ โ๏ธ ๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ ๐ฅ-๐ฅณ ๐ ๐ Pydantic, โซ๏ธ โ๏ธ ๐ฎ ๐. , ๐ซ ๐ฝ ๐ ๐ ๐ ๐ซ โป ๐ช.
โซ๏ธ ๐ ๐ฅ ๐ ๐ ๐ ๐ณ. & โซ๏ธ โ๏ธ ๐ ๐จ๐ป (โฉ๏ธ ๐ซ), โซ๏ธ ๐ซ ๐ง โ ๐ โ-๐ญ ๐ ๐งฐ ๐ Uvicorn, ๐ & ๐คฃ.
๐ ๐ โ๏ธ ๐ ๐ค-ยฎ ๐ & ๐ โ ๐งข ๐ ๐ฃ ๐. , โซ๏ธ ๐ซ ๐ช ๐ฃ ๐ ๐ 1๏ธโฃ "๐ฆฒ" ๐ ๐ ๐ฏ ๐.
๐ฃ ๐ฃ ๐ ๐ฅ, โ๏ธ ๐ข ๐ฃ ๐ ๐ฅ (โฉ๏ธ โ๏ธ ๐จโ๐จ ๐ ๐ช ๐ฅ โถ๏ธ๏ธ ๐ ๐ ๐ข ๐ ๐ต ๐). ๐ ๐ โ โณ ๐จ โซ๏ธ ๐ โ ๐บ (& ๐) ๐จ โซ๏ธ. โซ๏ธ ๐ ๐ ๐ ๐ ๐ถ ๐ ๐.
๐ฎ FastAPI
๐ฌ โ ๐ฌ ๐ฝ ๐ โ๏ธ "๐ข" ๐ฒ ๐ท ๐ข. ๐ ๐ ๐จโ๐จ ๐โ๐ฆบ, & โซ๏ธ ๐ซ ๐ช Pydantic โญ.
๐ ๐ค ๐ฎ ๐ ๏ธ ๐ Pydantic, ๐โ๐ฆบ ๐ ๐ฌ ๐ ๐ (๐ ๐ ๐ ๏ธ ๐ โช ๐ช Pydantic).
๐ค¶
๐ค ๐ ๐ฅ ๐ ๏ธ ๐ ๏ธ ๐ ๐ ๏ธ ๐ข ๐ โ๏ธ ๐ ๐ ๐. ๐ ๐ ๐ญ ๐ ๐ฎ ๐ ๐งฐ ๐.
โซ๏ธ โ๏ธ ๐ ๐ ๐ฎ ๐ โฉ๏ธ ๐ฉ ๐ ๐, โ๏ธ โซ๏ธ ๐ฆ ๐ โฉ.
โซ๏ธ ๐ ๐ฅ ๐ ๏ธ ๐ ๐ ๐ ๐ฃ ๐ ๐ ๏ธ ๐ป.
โซ๏ธ ๐ซ โ๏ธ ๐ ๐ฉ ๐ ๐ & ๐ป ๐. โซ๏ธ ๐ซ๐ ๐ฏ ๐ ๏ธ โซ๏ธ โฎ๏ธ ๐ ๐งฐ, ๐ ๐ฆ ๐. โ๏ธ ๐, โซ๏ธ ๐ถ ๐ก ๐ญ.
โซ๏ธ โ๏ธ ๐, โญ โ: โ๏ธ ๐ ๐ ๏ธ, โซ๏ธ ๐ช โ ๐ & ๐ณ๐จ.
โซ๏ธ โ๏ธ ๐ โฎ๏ธ ๐ฉ ๐ ๐ ๐ธ ๐ ๏ธ (๐จ๐ป), โซ๏ธ ๐ช ๐ซ ๐ต *๏ธโฃ & ๐ ๐, ๐ โซ๏ธ โ๏ธ โ ๐ญ ๐โโ๏ธ.
Info
๐ค โ โก ๐, ๐ ๐ผ isort
, ๐ ๐งฐ ๐ ๐ ๐ ๐ ๐.
๐ญ ๐ฎ FastAPI
๐ค ๐ฎ ๐ APIStar, & 1๏ธโฃ ๐งฐ ๐ค ๐ ๐ ๐, ๐ APIStar.
๐ค โน ๐ FastAPI โ๏ธ ๐ ๐ ๐ ๐ฃ ๐ข, & ๐ ๐ โ ๐ ๏ธ ๐.
๐ค ๐ฎ FastAPI ๐ฃ response
๐ข ๐ข โ ๐ & ๐ช.
APIStar (<= 0๏ธโฃ.5๏ธโฃ)¶
โถ๏ธ๏ธ โญ ๐ค ๐ FastAPI ๐ค ๐ APIStar ๐ฝ. โซ๏ธ โ๏ธ ๐ ๐ ๐ค ๐ & โ๏ธ ๐ ๐ง.
โซ๏ธ ๐ ๐ฅ ๐ ๏ธ ๐ ๏ธ โ๏ธ ๐ ๐ ๐ ๐ฃ ๐ข & ๐จ ๐ ๐ค โฑ ๐ (โญ NestJS & โจ). ๐ค ๐ โซ๏ธ ๐ โ๏ธ ๐ ๐ ๐ฐ ๐ค. โ๏ธ APIStar โ๏ธ ๐ ๐ฉ.
โซ๏ธ โ๏ธ ๐ง ๐ฝ ๐ฌ, ๐ฝ ๐ ๏ธ & ๐ ๐ โก โ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ฅ.
๐ช ๐ ๐ ๐ซ โ๏ธ ๐ ๐ ๐ ๐ ๐ Pydantic, โซ๏ธ ๐ ๐ ๐ ๐ญ,, ๐จโ๐จ ๐โ๐ฆบ ๐ซ๐ ๐, โ๏ธ, APIStar ๐ ๐ช ๐.
โซ๏ธ โ๏ธ ๐ ๐ญ ๐ ๐ฐ (๐ด ๐ฅ ๐).
๐ฅ, โซ๏ธ ๐ซ โ๏ธ ๐ง ๐ ๏ธ ๐งพ ๐ธ ๐, โ๏ธ ๐ค ๐ญ ๐ค ๐ช ๐ฎ ๐ฆ ๐ โซ๏ธ.
โซ๏ธ โ๏ธ ๐ ๐ โ๏ธ. โซ๏ธ โ ๐ค-ยฎ ๐ฆฒ, ๐ ๐งฐ ๐ฌ ๐. โ๏ธ, โซ๏ธ ๐ โ.
๐ค ๐ ๐ช โ๏ธ โซ๏ธ ๐ ๐, โซ๏ธ ๐ซ โ๏ธ ๐โโ ๐ ๏ธ,, ๐ค ๐ซ ๐ซ โ ๐ โ ๐ค โ๏ธ โฎ๏ธ ๐-๐ ๐ โ๏ธ ๐ ๐บ-Apispec. ๐ค โ๏ธ ๐ ๐ ๐ โ ๐ฒ ๐จ โ ๐ ๐ ๏ธ.
โ๏ธ โคด๏ธ, ๐ ๐ฏ ๐.
โซ๏ธ ๐ โโ ๐ ๐ ๏ธ ๐ธ ๐ ๏ธ, ๐ผ ๐ช ๐ฏ ๐ ๐.
๐ APIStar โ ๐งฐ โ ๐ ๐ง, ๐ซ ๐ธ ๐ ๏ธ.
Info
APIStar โ โก ๐บ๐ธ๐. ๐ ๐จ ๐ โ:
- โณ ๐ ๐ ๏ธ
- ๐ (โ FastAPI โ๏ธ)
- Uvicorn (โ๏ธ ๐ & FastAPI)
๐ฎ FastAPI
๐.
๐ญ ๐ฃ ๐ ๐ (๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ) โฎ๏ธ ๐ ๐ ๐, ๐ ๐ ๐ฐ ๐ ๐ ๐จโ๐จ ๐โ๐ฆบ, ๐ณ ๐ค ๐ค ๐ ๐ญ.
& โฎ๏ธ ๐ ๐ ๐ฐ ๐ ๐ ๏ธ & ๐ฌ ๐ ๐ ๐, APIStar ๐ ๐ ๐ช.
โคด๏ธ APIStar โ๏ธ ๐ ๐ฝ & ๐ โ, & ๐ ๐ป ๐ โ โ๏ธ. ๐ ๐ ๐ ๐ FastAPI.
๐ค ๐ค FastAPI "๐ ๐จโ๐ผ" APIStar, โช ๐ & ๐ โ, โจ โ๏ธ, & ๐ ๐, โ๏ธ ๐ ๐ซ โช๏ธโก๏ธ ๐ ๐ โฎ๏ธ ๐งฐ.
โ๏ธ FastAPI¶
Pydantic¶
Pydantic ๐ ๐ฌ ๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ (โ๏ธ ๐ป ๐) โ๏ธ ๐ ๐ ๐ ๐.
๐ โ โซ๏ธ ๐ถ ๐๏ธ.
โซ๏ธ โญ ๐ญ. ๐ โซ๏ธ โฉ ๐ ๐ญ ๐. & โซ๏ธ โ๏ธ ๐ ๐ ๐ ๐ ๐, ๐จโ๐จ ๐โ๐ฆบ ๐.
FastAPI โ๏ธ โซ๏ธ
๐ต ๐ ๐ฝ ๐ฌ, ๐ฝ ๐ ๏ธ & ๐ง ๐ท ๐งพ (โ๏ธ ๐ ๐ป ๐).
FastAPI โคด๏ธ โ ๐ ๐ป ๐ ๐ฝ & ๐ฎ โซ๏ธ ๐, โ๏ธ โช๏ธโก๏ธ ๐ ๐ ๐ โซ๏ธ ๐จ.
๐¶
๐ ๐ฟ ๐ซ ๐ ๏ธ/๐งฐ, โ ๐ฏ ๐ โ-๐ญ โณ ๐โ๐ฆบ.
โซ๏ธ ๐ถ ๐ & ๐๏ธ. โซ๏ธ ๐ง ๐ช ๐ง, & โ๏ธ ๐ง ๐ฆฒ.
โซ๏ธ โ๏ธ:
- ๐ค ๐ ๐ญ.
- *๏ธโฃ ๐โ๐ฆบ.
- -๐ ๏ธ ๐ฅ ๐.
- ๐ด & ๐คซ ๐.
- ๐ฏ ๐ฉโ๐ป ๐ ๐ ๐ธ๐ฒ.
- โ, ๐, ๐ป ๐, ๐ ๐จ.
- ๐ & ๐ช ๐โ๐ฆบ.
- 1๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ฏ ๐ฏ ๐ฐ.
- 1๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ฏ ๐ โ โ.
- ๐ฉโโคโ๐จ ๐๏ธ ๐.
๐ โณ โฉ ๐ ๐ ๏ธ ๐ฏ. ๐ด ๐ฅ Uvicorn, โ ๐ซ ๐ ๏ธ, โ๏ธ ๐ฝ.
๐ ๐ ๐ ๐ฐ ๐ธ ๐ธ ๐ ๏ธ.
โ๏ธ โซ๏ธ ๐ซ ๐ ๐ง ๐ฝ ๐ฌ, ๐ ๏ธ โ๏ธ ๐งพ.
๐ 1๏ธโฃ ๐ ๐ ๐ FastAPI ๐ฎ ๐ ๐, ๐ โ๏ธ ๐ ๐ ๐ ๐ (โ๏ธ Pydantic). ๐, โ ๐ ๐ โ๏ธ, ๐โโ ๐, ๐ ๐ โก, โ๏ธ.
๐ก โน
๐ซ ๐ "๐ฉ" โ ๐ ๏ธ โณ ๐ ๐ ๐จโ๐. โซ๏ธ ๐ซ "๐ ๐ฉ" (๐ฉ๐ฌ), ๐ ๐ซ ๐ ๏ธ ๐จ ๐.
๐, โซ๏ธ โช โ โ๏ธ "๐ฉ" ๐ ๐งฐ. ๐ ๐ ๐ ๐ ๏ธ, ๐ ๐ช ๐ Uvicorn ๐ ๐ ๐ซ ๐ฝ (๐ ๐ธ โ๏ธ Hypercorn), โ๏ธ ๐ ๐ช ๐ฎ ๐ซ ๐ ๐งฐ, ๐ python-socketio
.
FastAPI โ๏ธ โซ๏ธ
๐ต ๐ ๐ ๐ธ ๐. โ โ ๐ ๐.
๐ FastAPI
โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐ Starlette
.
, ๐ณ ๐ ๐ ๐ช โฎ๏ธ ๐, ๐ ๐ช โซ๏ธ ๐ โฎ๏ธ FastAPI, โซ๏ธ ๐ ๐ ๐ ๐.
Uvicorn¶
Uvicorn ๐ฉ-โฉ ๐ซ ๐ฝ, ๐ ๐ uvloop & httptool.
โซ๏ธ ๐ซ ๐ธ ๐ ๏ธ, โ๏ธ ๐ฝ. ๐ผ, โซ๏ธ ๐ซ ๐ ๐งฐ ๐น โก. ๐ ๐ณ ๐ ๐ ๏ธ ๐ ๐ (โ๏ธ FastAPI) ๐ ๐ ๐ ๐.
โซ๏ธ ๐ ๐ฝ ๐ & FastAPI.
FastAPI ๐ โซ๏ธ
๐ ๐ธ ๐ฝ ๐ FastAPI ๐ธ.
๐ ๐ช ๐ โซ๏ธ โฎ๏ธ ๐, โ๏ธ ๐ ๐-๐ ๏ธ ๐ฝ.
โ ๐ โน ๐ ๏ธ ๐.
๐ & ๐ ¶
๐ค, ๐ฌ, & ๐ ๐บ ๐ Uvicorn, ๐ & FastAPI, โ ๐ ๐ ๐.