Skip to content

โš’

FastAPI โš’

FastAPI ๐Ÿค ๐Ÿ‘† ๐Ÿ“„:

โš“๏ธ ๐Ÿ”› ๐Ÿ“‚ ๐Ÿฉ

  • ๐Ÿ—„ ๐Ÿ› ๏ธ ๐Ÿ—, โœ… ๐Ÿ“„ โžก ๐Ÿ› ๏ธ, ๐Ÿ”ข, ๐Ÿ’ช ๐Ÿ“จ, ๐Ÿ’‚โ€โ™‚, โ™’๏ธ.
  • ๐Ÿง ๐Ÿ“Š ๐Ÿท ๐Ÿงพ โฎ๏ธ ๐ŸŽป ๐Ÿ”— (๐Ÿ—„ โšซ๏ธ ๐Ÿงข ๐Ÿ”› ๐ŸŽป ๐Ÿ”—).
  • ๐Ÿ”ง ๐Ÿคญ ๐Ÿ‘ซ ๐Ÿฉ, โฎ๏ธ ๐Ÿ˜” ๐Ÿ”ฌ. โ†ฉ๏ธ ๐Ÿ‘Ž ๐Ÿงฝ ๐Ÿ”› ๐Ÿ”.
  • ๐Ÿ‘‰ โœ” โš™๏ธ ๐Ÿง ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ“Ÿ โšก ๐Ÿ“š ๐Ÿ‡ช๐Ÿ‡ธ.

๐Ÿง ๐Ÿฉบ

๐ŸŽ“ ๐Ÿ› ๏ธ ๐Ÿงพ & ๐Ÿ”ฌ ๐Ÿ•ธ ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ”ข. ๐Ÿ› ๏ธ โš“๏ธ ๐Ÿ”› ๐Ÿ—„, ๐Ÿ“ค ๐Ÿ’— ๐ŸŽ›, 2๏ธโƒฃ ๐Ÿ”Œ ๐Ÿ”ข.

  • ๐Ÿฆ ๐ŸŽš, โฎ๏ธ ๐ŸŽ“ ๐Ÿ”ฌ, ๐Ÿค™ & ๐Ÿ’ฏ ๐Ÿ‘† ๐Ÿ› ๏ธ ๐Ÿ”— โšช๏ธโžก๏ธ ๐Ÿ–ฅ.

Swagger UI interaction

  • ๐ŸŽ› ๐Ÿ› ๏ธ ๐Ÿงพ โฎ๏ธ ๐Ÿ“„.

ReDoc

๐Ÿ› ๐Ÿ

โšซ๏ธ ๐ŸŒ โš“๏ธ ๐Ÿ”› ๐Ÿฉ ๐Ÿ 3๏ธโƒฃ.6๏ธโƒฃ ๐Ÿ†Ž ๐Ÿ“„ (๐Ÿ‘ Pydantic). ๐Ÿ™…โ€โ™‚ ๐Ÿ†• โ• ๐Ÿ’ก. ๐Ÿฉ ๐Ÿ› ๐Ÿ.

๐Ÿšฅ ๐Ÿ‘† ๐Ÿ’ช 2๏ธโƒฃ โฒ โ†—๏ธ โ” โš™๏ธ ๐Ÿ ๐Ÿ†Ž (๐Ÿšฅ ๐Ÿ‘† ๐Ÿšซ โš™๏ธ FastAPI), โœ… ๐Ÿ“ ๐Ÿ”ฐ: ๐Ÿ ๐Ÿ†Ž.

๐Ÿ‘† โœ ๐Ÿฉ ๐Ÿ โฎ๏ธ ๐Ÿ†Ž:

from datetime import date

from pydantic import BaseModel

# Declare a variable as a str
# and get editor support inside the function
def main(user_id: str):
    return user_id


# A Pydantic model
class User(BaseModel):
    id: int
    name: str
    joined: date

๐Ÿ‘ˆ ๐Ÿ’ช โคด๏ธ โš™๏ธ ๐Ÿ’–:

my_user: User = User(id=3, name="John Doe", joined="2018-07-19")

second_user_data = {
    "id": 4,
    "name": "Mary",
    "joined": "2018-11-30",
}

my_second_user: User = User(**second_user_data)

Info

**second_user_data โ›“:

๐Ÿšถโ€โ™€๏ธ ๐Ÿ”‘ & ๐Ÿ’ฒ second_user_data #๏ธโƒฃ ๐Ÿ”— ๐Ÿ”‘-๐Ÿ’ฒ โŒ, ๐ŸŒ“: User(id=4, name="Mary", joined="2018-11-30")

๐Ÿ‘จโ€๐ŸŽจ ๐Ÿ•โ€๐Ÿฆบ

๐ŸŒ ๐Ÿ› ๏ธ ๐Ÿ— โฉ & ๐Ÿ‹๏ธ โš™๏ธ, ๐ŸŒ ๐Ÿšซ ๐Ÿ’ฏ ๐Ÿ”› ๐Ÿ’— ๐Ÿ‘จโ€๐ŸŽจ โญ โ–ถ๏ธ ๐Ÿ› ๏ธ, ๐Ÿšš ๐Ÿ† ๐Ÿ› ๏ธ ๐Ÿ’ก.

๐Ÿ ๐Ÿ ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ”ฌ โšซ๏ธ ๐Ÿ†‘ ๐Ÿ‘ˆ ๐ŸŒ… โš™๏ธ โš’ "โœ".

๐ŸŽ‚ FastAPI ๐Ÿ› ๏ธ โš“๏ธ ๐Ÿ˜Œ ๐Ÿ‘ˆ. โœ ๐Ÿ‘ท ๐ŸŒ.

๐Ÿ‘† ๐Ÿ”œ ๐Ÿ›Ž ๐Ÿ’ช ๐Ÿ‘Ÿ ๐Ÿ”™ ๐Ÿฉบ.

๐Ÿ“ฅ โ” ๐Ÿ‘† ๐Ÿ‘จโ€๐ŸŽจ ๐Ÿ’ช โ„น ๐Ÿ‘†:

editor support

editor support

๐Ÿ‘† ๐Ÿ”œ ๐Ÿคš ๐Ÿ› ๏ธ ๐Ÿ“Ÿ ๐Ÿ‘† 5๏ธโƒฃ๐Ÿ“† ๐Ÿค” ๐Ÿ’ช โญ. ๐Ÿ–ผ, price ๐Ÿ”‘ ๐Ÿ”˜ ๐ŸŽป ๐Ÿ’ช (๐Ÿ‘ˆ ๐Ÿ’ช โœ”๏ธ ๐Ÿฆ) ๐Ÿ‘ˆ ๐Ÿ‘Ÿ โšช๏ธโžก๏ธ ๐Ÿ“จ.

๐Ÿ™…โ€โ™‚ ๐ŸŒ– โŒจ โŒ ๐Ÿ”‘ ๐Ÿ“›, ๐Ÿ‘Ÿ ๐Ÿ”™ & โžก ๐Ÿ–– ๐Ÿฉบ, โš–๏ธ ๐Ÿ“œ ๐Ÿ†™ & ๐Ÿ”ฝ ๐Ÿ”Ž ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ˜’ โš™๏ธ username โš–๏ธ user_name.

๐Ÿ“

โšซ๏ธ โœ”๏ธ ๐Ÿค” ๐Ÿ”ข ๐ŸŒ, โฎ๏ธ ๐Ÿ“ฆ ๐Ÿ“ณ ๐ŸŒ. ๐ŸŒ ๐Ÿ”ข ๐Ÿ’ช ๐Ÿ‘Œ-๐ŸŽง โšซ๏ธโ” ๐Ÿ‘† ๐Ÿ’ช & ๐Ÿ”ฌ ๐Ÿ› ๏ธ ๐Ÿ‘† ๐Ÿ’ช.

โœ‹๏ธ ๐Ÿ”ข, โšซ๏ธ ๐ŸŒ "๐Ÿ‘ท".

๐Ÿ”ฌ

  • ๐Ÿ”ฌ ๐ŸŒ… (โš–๏ธ ๐ŸŒ โ“) ๐Ÿ ๐Ÿ’ฝ ๐Ÿ†Ž, ๐Ÿ”Œ:

    • ๐ŸŽป ๐ŸŽš (dict).
    • ๐ŸŽป ๐ŸŽป (list) โš– ๐Ÿฌ ๐Ÿ†Ž.
    • ๐ŸŽป (str) ๐Ÿ‘, ๐Ÿ”ฌ ๐Ÿ•™ & ๐Ÿ‘Ÿ ๐Ÿ“.
    • ๐Ÿ”ข (int, float) โฎ๏ธ ๐Ÿ•™ & ๐Ÿ‘Ÿ ๐Ÿ’ฒ, โ™’๏ธ.
  • ๐Ÿ”ฌ ๐ŸŒ… ๐Ÿ˜ ๐Ÿ†Ž, ๐Ÿ’–:

    • ๐Ÿ“›.
    • ๐Ÿ“ง.
    • ๐Ÿ†”.
    • ...& ๐ŸŽ.

๐ŸŒ ๐Ÿ”ฌ ๐Ÿต ๐Ÿ‘-๐Ÿ› & ๐Ÿ‹๏ธ Pydantic.

๐Ÿ’‚โ€โ™‚ & ๐Ÿค

๐Ÿ’‚โ€โ™‚ & ๐Ÿค ๐Ÿ› ๏ธ. ๐Ÿต ๐Ÿ™† โš  โฎ๏ธ ๐Ÿ’ฝ โš–๏ธ ๐Ÿ“Š ๐Ÿท.

๐ŸŒ ๐Ÿ’‚โ€โ™‚ โš– ๐Ÿ”ฌ ๐Ÿ—„, ๐Ÿ”Œ:

  • ๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ” ๐Ÿ”ฐ.
  • Oauth2๏ธโƒฃ (โฎ๏ธ ๐Ÿฅ™ ๐Ÿค). โœ… ๐Ÿ”ฐ ๐Ÿ”› Oauth2๏ธโƒฃ โฎ๏ธ ๐Ÿฅ™.
  • ๐Ÿ› ๏ธ ๐Ÿ”‘:
    • ๐ŸŽš.
    • ๐Ÿ”ข ๐Ÿ”ข.
    • ๐Ÿช, โ™’๏ธ.

โž• ๐ŸŒ ๐Ÿ’‚โ€โ™‚ โš’ โšช๏ธโžก๏ธ ๐Ÿ’ƒ (๐Ÿ”Œ ๐ŸŽ‰ ๐Ÿช).

๐ŸŒ ๐Ÿ— โ™ป ๐Ÿงฐ & ๐Ÿฆฒ ๐Ÿ‘ˆ โฉ ๐Ÿ› ๏ธ โฎ๏ธ ๐Ÿ‘† โš™๏ธ, ๐Ÿ“Š ๐Ÿช, ๐Ÿ”— & โ˜ ๐Ÿ’ฝ, โ™’๏ธ.

๐Ÿ”— ๐Ÿ’‰

FastAPI ๐Ÿ”Œ ๐Ÿ“ถ โฉ โš™๏ธ, โœ‹๏ธ ๐Ÿ“ถ ๐Ÿ‹๏ธ ๐Ÿ”— ๐Ÿ’‰ โš™๏ธ.

  • ๐Ÿ”— ๐Ÿ’ช โœ”๏ธ ๐Ÿ”—, ๐Ÿ— ๐Ÿ”— โš–๏ธ "๐Ÿ“Š" ๐Ÿ”—.
  • ๐ŸŒ ๐Ÿ” ๐Ÿต ๐Ÿ› ๏ธ.
  • ๐ŸŒ ๐Ÿ”— ๐Ÿ’ช ๐Ÿšš ๐Ÿ’ฝ โšช๏ธโžก๏ธ ๐Ÿ“จ & โ†” โžก ๐Ÿ› ๏ธ โš› & ๐Ÿง ๐Ÿงพ.
  • ๐Ÿง ๐Ÿ”ฌ โžก ๐Ÿ› ๏ธ ๐Ÿ”ข ๐Ÿ”ฌ ๐Ÿ”—.
  • ๐Ÿ•โ€๐Ÿฆบ ๐Ÿ— ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿค โš™๏ธ, ๐Ÿ’ฝ ๐Ÿ”—, โ™’๏ธ.
  • ๐Ÿ™…โ€โ™‚ โš  โฎ๏ธ ๐Ÿ’ฝ, ๐Ÿ•ธ, โ™’๏ธ. โœ‹๏ธ โฉ ๐Ÿ› ๏ธ โฎ๏ธ ๐ŸŒ ๐Ÿ‘ซ.

โ™พ "๐Ÿ”Œ-๐Ÿ”Œ"

โš–๏ธ ๐ŸŽ ๐ŸŒŒ, ๐Ÿ™…โ€โ™‚ ๐Ÿ’ช ๐Ÿ‘ซ, ๐Ÿ—„ & โš™๏ธ ๐Ÿ“Ÿ ๐Ÿ‘† ๐Ÿ’ช.

๐Ÿ™† ๐Ÿ› ๏ธ ๐Ÿ— ๐Ÿ™… โš™๏ธ (โฎ๏ธ ๐Ÿ”—) ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช โœ "๐Ÿ”Œ-" ๐Ÿ‘† ๐Ÿˆธ 2๏ธโƒฃ โธ ๐Ÿ“Ÿ โš™๏ธ ๐ŸŽ ๐Ÿ“Š & โ• โš™๏ธ ๐Ÿ‘† โžก ๐Ÿ› ๏ธ.

๐Ÿ’ฏ

  • 1๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃ ๐Ÿ’ฏ ๐Ÿ’ฏ ๐Ÿ’ฐ.
  • 1๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃ ๐Ÿ’ฏ ๐Ÿ†Ž โœ ๐Ÿ“Ÿ ๐Ÿงข.
  • โš™๏ธ ๐Ÿญ ๐Ÿˆธ.

๐Ÿ’ƒ โš’

FastAPI ๐Ÿ• ๐Ÿ”— โฎ๏ธ (& โš“๏ธ ๐Ÿ”›) ๐Ÿ’ƒ. , ๐Ÿ™† ๐ŸŒ– ๐Ÿ’ƒ ๐Ÿ“Ÿ ๐Ÿ‘† โœ”๏ธ, ๐Ÿ”œ ๐Ÿ‘ท.

FastAPI ๐Ÿค™ ๐ŸŽง-๐ŸŽ“ Starlette. , ๐Ÿšฅ ๐Ÿ‘† โช ๐Ÿ’ญ โš–๏ธ โš™๏ธ ๐Ÿ’ƒ, ๐ŸŒ… ๐Ÿ› ๏ธ ๐Ÿ”œ ๐Ÿ‘ท ๐ŸŽ ๐ŸŒŒ.

โฎ๏ธ FastAPI ๐Ÿ‘† ๐Ÿคš ๐ŸŒ ๐Ÿ’ƒ'โ“‚ โš’ (FastAPI ๐Ÿ’ƒ ๐Ÿ”› ๐Ÿ’Š):

  • ๐Ÿค™ ๐ŸŽ† ๐ŸŽญ. โšซ๏ธ 1๏ธโƒฃ โฉ ๐Ÿ ๐Ÿ› ๏ธ ๐Ÿ’ช, ๐Ÿ”› ๐Ÿ‡ท๐Ÿ‡ช โฎ๏ธ โœณ & ๐Ÿšถ.
  • ** *๏ธโƒฃ ** ๐Ÿ•โ€๐Ÿฆบ.
  • -๐Ÿ› ๏ธ ๐Ÿ–ฅ ๐Ÿ“‹.
  • ๐Ÿ•ด & ๐Ÿคซ ๐ŸŽ‰.
  • ๐Ÿ’ฏ ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ— ๐Ÿ”› ๐Ÿ‡ธ๐Ÿ‡ฒ.
  • โšœ, ๐Ÿ—œ, ๐ŸŽป ๐Ÿ“, ๐ŸŽ ๐Ÿ“จ.
  • ๐ŸŽ‰ & ๐Ÿช ๐Ÿ•โ€๐Ÿฆบ.
  • 1๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃ ๐Ÿ’ฏ ๐Ÿ’ฏ ๐Ÿ’ฐ.
  • 1๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃ ๐Ÿ’ฏ ๐Ÿ†Ž โœ โœ.

Pydantic โš’

FastAPI ๐Ÿ• ๐Ÿ”— โฎ๏ธ (& โš“๏ธ ๐Ÿ”›) Pydantic. , ๐Ÿ™† ๐ŸŒ– Pydantic ๐Ÿ“Ÿ ๐Ÿ‘† โœ”๏ธ, ๐Ÿ”œ ๐Ÿ‘ท.

โœ… ๐Ÿ”ข ๐Ÿ—ƒ โš“๏ธ ๐Ÿ”› Pydantic, ๐Ÿœโ“‚, ๐Ÿญโ“‚ ๐Ÿ’ฝ.

๐Ÿ‘‰ โ›“ ๐Ÿ‘ˆ ๐Ÿ“š ๐Ÿ’ผ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿšถโ€โ™€๏ธ ๐ŸŽ ๐ŸŽš ๐Ÿ‘† ๐Ÿคš โšช๏ธโžก๏ธ ๐Ÿ“จ ๐Ÿ”— ๐Ÿ’ฝ, ๐ŸŒ โœ” ๐Ÿ”.

๐ŸŽ โœ” ๐ŸŽ ๐ŸŒŒ ๐Ÿคญ, ๐Ÿ“š ๐Ÿ’ผ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿšถโ€โ™€๏ธ ๐ŸŽš ๐Ÿ‘† ๐Ÿคš โšช๏ธโžก๏ธ ๐Ÿ’ฝ ๐Ÿ”— ๐Ÿ‘ฉโ€๐Ÿ’ป.

โฎ๏ธ FastAPI ๐Ÿ‘† ๐Ÿคš ๐ŸŒ Pydantic'โ“‚ โš’ (FastAPI โš“๏ธ ๐Ÿ”› Pydantic ๐ŸŒ ๐Ÿ’ฝ ๐Ÿšš):

  • ๐Ÿ™…โ€โ™‚ ๐Ÿ” :
    • ๐Ÿ™…โ€โ™‚ ๐Ÿ†• ๐Ÿ”— ๐Ÿ”‘ โ—พ-๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ’ก.
    • ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ’ญ ๐Ÿ ๐Ÿ†Ž ๐Ÿ‘† ๐Ÿ’ญ โ” โš™๏ธ Pydantic.
  • ๐Ÿคพ ๐ŸŽ† โฎ๏ธ ๐Ÿ‘† ๐Ÿ’พ/๐Ÿงถ/๐Ÿง :
    • โ†ฉ๏ธ Pydantic ๐Ÿ“Š ๐Ÿ“Š ๐Ÿ‘ ๐ŸŽ“ ๐Ÿ‘† ๐Ÿ”ฌ; ๐Ÿš˜-๐Ÿ› ๏ธ, ๐Ÿงฝ, โœ & ๐Ÿ‘† ๐Ÿค” ๐Ÿ”œ ๐ŸŒ ๐Ÿ‘ท โ˜‘ โฎ๏ธ ๐Ÿ‘† โœ” ๐Ÿ’ฝ.
  • โฉ:
    • ๐Ÿ“‡ Pydantic โฉ ๐ŸŒ˜ ๐ŸŒ ๐ŸŽ ๐Ÿ’ฏ ๐Ÿ—ƒ.
  • โœ” ๐Ÿ— ๐Ÿ“Š:
    • โš™๏ธ ๐Ÿ”— Pydantic ๐Ÿท, ๐Ÿ typing'โ“‚ List & Dict, โ™’๏ธ.
    • & ๐Ÿ’ณ โœ” ๐Ÿ— ๐Ÿ’ฝ ๐Ÿ”— ๐ŸŽฏ & ๐Ÿ’ช ๐Ÿ”ฌ, โœ… & ๐Ÿ“„ ๐ŸŽป ๐Ÿ”—.
    • ๐Ÿ‘† ๐Ÿ’ช โœ”๏ธ ๐Ÿ™‡ ๐Ÿฆ ๐ŸŽป ๐ŸŽš & โœ”๏ธ ๐Ÿ‘ซ ๐ŸŒ โœ” & โœ.
  • ๐Ÿง:
    • Pydantic โœ” ๐Ÿ›ƒ ๐Ÿ“Š ๐Ÿ†Ž ๐Ÿ”ฌ โš–๏ธ ๐Ÿ‘† ๐Ÿ’ช โ†” ๐Ÿ”ฌ โฎ๏ธ ๐Ÿ‘ฉโ€๐Ÿ”ฌ ๐Ÿ”› ๐Ÿท ๐ŸŽ€ โฎ๏ธ ๐Ÿ’ณ ๐Ÿ‘จโ€๐ŸŽจ.
  • 1๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃ ๐Ÿ’ฏ ๐Ÿ’ฏ ๐Ÿ’ฐ.