# ๐Ÿ’ช - ๐Ÿ’— ๐Ÿ”ข ๐Ÿ”œ ๐Ÿ‘ˆ ๐Ÿ‘ฅ โœ”๏ธ ๐Ÿ‘€ โ” โš™๏ธ `Path` & `Query`, โžก๏ธ ๐Ÿ‘€ ๐ŸŒ… ๐Ÿง โš™๏ธ ๐Ÿ“จ ๐Ÿ’ช ๐Ÿ“„. ## ๐ŸŒ€ `Path`, `Query` & ๐Ÿ’ช ๐Ÿ”ข ๐Ÿฅ‡, โ†—๏ธ, ๐Ÿ‘† ๐Ÿ’ช ๐ŸŒ€ `Path`, `Query` & ๐Ÿ“จ ๐Ÿ’ช ๐Ÿ”ข ๐Ÿ“„ โžก & **FastAPI** ๐Ÿ”œ ๐Ÿ’ญ โšซ๏ธโ”. & ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ“ฃ ๐Ÿ’ช ๐Ÿ”ข ๐Ÿ“ฆ, โš’ ๐Ÿ”ข `None`: //// tab | ๐Ÿ 3๏ธโƒฃ.6๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="19-21" {!> ../../docs_src/body_multiple_params/tutorial001.py!} ``` //// //// tab | ๐Ÿ 3๏ธโƒฃ.1๏ธโƒฃ0๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="17-19" {!> ../../docs_src/body_multiple_params/tutorial001_py310.py!} ``` //// /// note ๐Ÿ‘€ ๐Ÿ‘ˆ, ๐Ÿ‘‰ ๐Ÿ’ผ, `item` ๐Ÿ‘ˆ ๐Ÿ”œ โœŠ โšช๏ธโžก๏ธ ๐Ÿ’ช ๐Ÿ“ฆ. โšซ๏ธ โœ”๏ธ `None` ๐Ÿ”ข ๐Ÿ’ฒ. /// ## ๐Ÿ’— ๐Ÿ’ช ๐Ÿ”ข โฎ๏ธ ๐Ÿ–ผ, *โžก ๐Ÿ› ๏ธ* ๐Ÿ”œ โŒ› ๐ŸŽป ๐Ÿ’ช โฎ๏ธ ๐Ÿ”ข `Item`, ๐Ÿ’–: ```JSON { "name": "Foo", "description": "The pretender", "price": 42.0, "tax": 3.2 } ``` โœ‹๏ธ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ“ฃ ๐Ÿ’— ๐Ÿ’ช ๐Ÿ”ข, โœ… `item` & `user`: //// tab | ๐Ÿ 3๏ธโƒฃ.6๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="22" {!> ../../docs_src/body_multiple_params/tutorial002.py!} ``` //// //// tab | ๐Ÿ 3๏ธโƒฃ.1๏ธโƒฃ0๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="20" {!> ../../docs_src/body_multiple_params/tutorial002_py310.py!} ``` //// ๐Ÿ‘‰ ๐Ÿ’ผ, **FastAPI** ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ“ค ๐ŸŒ… ๐ŸŒ˜ 1๏ธโƒฃ ๐Ÿ’ช ๐Ÿ”ข ๐Ÿ”ข (2๏ธโƒฃ ๐Ÿ”ข ๐Ÿ‘ˆ Pydantic ๐Ÿท). , โšซ๏ธ ๐Ÿ”œ โคด๏ธ โš™๏ธ ๐Ÿ”ข ๐Ÿ“› ๐Ÿ”‘ (๐Ÿ‘ ๐Ÿ“›) ๐Ÿ’ช, & โŒ› ๐Ÿ’ช ๐Ÿ’–: ```JSON { "item": { "name": "Foo", "description": "The pretender", "price": 42.0, "tax": 3.2 }, "user": { "username": "dave", "full_name": "Dave Grohl" } } ``` /// note ๐Ÿ‘€ ๐Ÿ‘ˆ โœ‹๏ธ `item` ๐Ÿ“ฃ ๐ŸŽ ๐ŸŒŒ โญ, โšซ๏ธ ๐Ÿ”œ โŒ› ๐Ÿ”˜ ๐Ÿ’ช โฎ๏ธ ๐Ÿ”‘ `item`. /// **FastAPI** ๐Ÿ”œ ๐Ÿง ๐Ÿ› ๏ธ โšช๏ธโžก๏ธ ๐Ÿ“จ, ๐Ÿ‘ˆ ๐Ÿ”ข `item` ๐Ÿ“จ โšซ๏ธ ๐ŸŽฏ ๐ŸŽš & ๐ŸŽ `user`. โšซ๏ธ ๐Ÿ”œ ๐ŸŽญ ๐Ÿ”ฌ โš— ๐Ÿ’ฝ, & ๐Ÿ”œ ๐Ÿ“„ โšซ๏ธ ๐Ÿ’– ๐Ÿ‘ˆ ๐Ÿ—„ ๐Ÿ”— & ๐Ÿง ๐Ÿฉบ. ## โญ ๐Ÿ’ฒ ๐Ÿ’ช ๐ŸŽ ๐ŸŒŒ ๐Ÿ“ค `Query` & `Path` ๐Ÿ”ฌ โž• ๐Ÿ’ฝ ๐Ÿ”ข & โžก ๐Ÿ”ข, **FastAPI** ๐Ÿšš ๐ŸŒ“ `Body`. ๐Ÿ–ผ, โ†” โฎ๏ธ ๐Ÿท, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’š โœ”๏ธ โž•1๏ธโƒฃ ๐Ÿ”‘ `importance` ๐ŸŽ ๐Ÿ’ช, ๐Ÿฅˆ `item` & `user`. ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ“ฃ โšซ๏ธ, โ†ฉ๏ธ โšซ๏ธ โญ ๐Ÿ’ฒ, **FastAPI** ๐Ÿ”œ ๐Ÿค” ๐Ÿ‘ˆ โšซ๏ธ ๐Ÿ”ข ๐Ÿ”ข. โœ‹๏ธ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ก **FastAPI** ๐Ÿ˜ฅ โšซ๏ธ โž•1๏ธโƒฃ ๐Ÿ’ช ๐Ÿ”‘ โš™๏ธ `Body`: //// tab | ๐Ÿ 3๏ธโƒฃ.6๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="22" {!> ../../docs_src/body_multiple_params/tutorial003.py!} ``` //// //// tab | ๐Ÿ 3๏ธโƒฃ.1๏ธโƒฃ0๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="20" {!> ../../docs_src/body_multiple_params/tutorial003_py310.py!} ``` //// ๐Ÿ‘‰ ๐Ÿ’ผ, **FastAPI** ๐Ÿ”œ โŒ› ๐Ÿ’ช ๐Ÿ’–: ```JSON { "item": { "name": "Foo", "description": "The pretender", "price": 42.0, "tax": 3.2 }, "user": { "username": "dave", "full_name": "Dave Grohl" }, "importance": 5 } ``` ๐Ÿ”„, โšซ๏ธ ๐Ÿ”œ ๐Ÿ—œ ๐Ÿ“Š ๐Ÿ†Ž, โœ”, ๐Ÿ“„, โ™’๏ธ. ## ๐Ÿ’— ๐Ÿ’ช = & ๐Ÿ”ข โ†—๏ธ, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ“ฃ ๐ŸŒ– ๐Ÿ”ข ๐Ÿ”ข ๐Ÿ•โ” ๐Ÿ‘† ๐Ÿ’ช, ๐ŸŒ– ๐Ÿ™† ๐Ÿ’ช ๐Ÿ”ข. , ๐Ÿ”ข, โญ ๐Ÿ’ฒ ๐Ÿ”ฌ ๐Ÿ”ข ๐Ÿ”ข, ๐Ÿ‘† ๐Ÿšซ โœ”๏ธ ๐ŸŽฏ ๐Ÿšฎ `Query`, ๐Ÿ‘† ๐Ÿ’ช: ```Python q: Union[str, None] = None ``` โš–๏ธ ๐Ÿ 3๏ธโƒฃ.1๏ธโƒฃ0๏ธโƒฃ & ๐Ÿ”›: ```Python q: str | None = None ``` ๐Ÿ–ผ: //// tab | ๐Ÿ 3๏ธโƒฃ.6๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="27" {!> ../../docs_src/body_multiple_params/tutorial004.py!} ``` //// //// tab | ๐Ÿ 3๏ธโƒฃ.1๏ธโƒฃ0๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="26" {!> ../../docs_src/body_multiple_params/tutorial004_py310.py!} ``` //// /// info `Body` โœ”๏ธ ๐ŸŒ ๐ŸŽ โž• ๐Ÿ”ฌ & ๐Ÿ—ƒ ๐Ÿ”ข `Query`,`Path` & ๐ŸŽ ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ‘€ โช. /// ## โฏ ๐Ÿ‘ ๐Ÿ’ช ๐Ÿ”ข โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘† ๐Ÿ•ด โœ”๏ธ ๐Ÿ‘ `item` ๐Ÿ’ช ๐Ÿ”ข โšช๏ธโžก๏ธ Pydantic ๐Ÿท `Item`. ๐Ÿ”ข, **FastAPI** ๐Ÿ”œ โคด๏ธ โŒ› ๐Ÿšฎ ๐Ÿ’ช ๐Ÿ”—. โœ‹๏ธ ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ’š โšซ๏ธ โŒ› ๐ŸŽป โฎ๏ธ ๐Ÿ”‘ `item` & ๐Ÿ”˜ โšซ๏ธ ๐Ÿท ๐ŸŽš, โšซ๏ธ ๐Ÿ”จ ๐Ÿ•โ” ๐Ÿ‘† ๐Ÿ“ฃ โž• ๐Ÿ’ช ๐Ÿ”ข, ๐Ÿ‘† ๐Ÿ’ช โš™๏ธ ๐ŸŽ `Body` ๐Ÿ”ข `embed`: ```Python item: Item = Body(embed=True) ``` : //// tab | ๐Ÿ 3๏ธโƒฃ.6๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="17" {!> ../../docs_src/body_multiple_params/tutorial005.py!} ``` //// //// tab | ๐Ÿ 3๏ธโƒฃ.1๏ธโƒฃ0๏ธโƒฃ & ๐Ÿ”› ```Python hl_lines="15" {!> ../../docs_src/body_multiple_params/tutorial005_py310.py!} ``` //// ๐Ÿ‘‰ ๐Ÿ’ผ **FastAPI** ๐Ÿ”œ โŒ› ๐Ÿ’ช ๐Ÿ’–: ```JSON hl_lines="2" { "item": { "name": "Foo", "description": "The pretender", "price": 42.0, "tax": 3.2 } } ``` โ†ฉ๏ธ: ```JSON { "name": "Foo", "description": "The pretender", "price": 42.0, "tax": 3.2 } ``` ## ๐ŸŒƒ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿšฎ ๐Ÿ’— ๐Ÿ’ช ๐Ÿ”ข ๐Ÿ‘† *โžก ๐Ÿ› ๏ธ ๐Ÿ”ข*, โœ‹๏ธ ๐Ÿ“จ ๐Ÿ’ช ๐Ÿ•ด โœ”๏ธ ๐Ÿ‘ ๐Ÿ’ช. โœ‹๏ธ **FastAPI** ๐Ÿ”œ ๐Ÿต โšซ๏ธ, ๐Ÿค ๐Ÿ‘† โ˜‘ ๐Ÿ“Š ๐Ÿ‘† ๐Ÿ”ข, & โœ” & ๐Ÿ“„ โ˜‘ ๐Ÿ”— *โžก ๐Ÿ› ๏ธ*. ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ“ฃ โญ ๐Ÿ’ฒ ๐Ÿ“จ ๐Ÿ• ๐Ÿ’ช. & ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ก **FastAPI** โฏ ๐Ÿ’ช ๐Ÿ”‘ ๐Ÿ•โ” ๐Ÿ“ค ๐Ÿ•ด ๐Ÿ‘ ๐Ÿ”ข ๐Ÿ“ฃ.