From: Kamil Woźniak <41345824+Valaraucoo@users.noreply.github.com>
Date: Thu, 14 Jul 2022 11:30:09 +0000 (+0200)
Subject: 🌐🇵🇱 Add Polish translation for `docs/pl/docs/tutorial/first-steps.md` (#5024)
X-Git-Tag: 0.79.0~25
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=120cf49089f2ce0e1d34534a3295157e29026636;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐🇵🇱 Add Polish translation for `docs/pl/docs/tutorial/first-steps.md` (#5024)
* docs: Polish translation for tutorial/first-steps.md
* docs: Polish translation / fixes after cr
---
diff --git a/docs/pl/docs/tutorial/first-steps.md b/docs/pl/docs/tutorial/first-steps.md
new file mode 100644
index 0000000000..9406d703d5
--- /dev/null
+++ b/docs/pl/docs/tutorial/first-steps.md
@@ -0,0 +1,334 @@
+# Pierwsze kroki
+
+Najprostszy plik FastAPI może wyglÄ
daÄ tak:
+
+```Python
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+Skopiuj to do pliku `main.py`.
+
+Uruchom serwer:
+
+
+
+```console
+$ uvicorn main:app --reload
+
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+INFO: Started reloader process [28720]
+INFO: Started server process [28722]
+INFO: Waiting for application startup.
+INFO: Application startup complete.
+```
+
+
+
+!!! note
+ Polecenie `uvicorn main:app` odnosi siÄ do:
+
+ * `main`: plik `main.py` ("moduÅ" Python).
+ * `app`: obiekt utworzony w pliku `main.py` w lini `app = FastAPI()`.
+ * `--reload`: sprawia, że serwer uruchamia siÄ ponownie po zmianie kodu. Używany tylko w trakcie tworzenia oprogramowania.
+
+Na wyjÅciu znajduje siÄ linia z czymÅ w rodzaju:
+
+```hl_lines="4"
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+```
+
+Ta linia pokazuje adres URL, pod którym Twoja aplikacja jest obsÅugiwana, na Twoim lokalnym komputerze.
+
+### Sprawdź to
+
+Otwórz w swojej przeglÄ
darce http://127.0.0.1:8000.
+
+Zobaczysz odpowiedź w formacie JSON:
+
+```JSON
+{"message": "Hello World"}
+```
+
+### Interaktywna dokumentacja API
+
+Przejdź teraz do http://127.0.0.1:8000/docs.
+
+Zobaczysz automatycznÄ
i interaktywnÄ
dokumentacjÄ API (dostarczonÄ
przez Swagger UI):
+
+
+
+### Alternatywna dokumentacja API
+
+Teraz przejdź do http://127.0.0.1:8000/redoc.
+
+Zobaczysz alternatywnÄ
automatycznie wygenerowanÄ
dokumentacjÄ API (dostarczonÄ
przez ReDoc):
+
+
+
+### OpenAPI
+
+**FastAPI** generuje "schemat" z caÅym Twoim API przy użyciu standardu **OpenAPI** sÅużÄ
cego do definiowania API.
+
+#### Schema
+
+"Schema" jest definicjÄ
lub opisem czegoÅ. Nie jest to kod, który go implementuje, ale po prostu abstrakcyjny opis.
+
+#### API "Schema"
+
+W typ przypadku, OpenAPI to specyfikacja, która dyktuje sposób definiowania schematu interfejsu API.
+
+Definicja schematu zawiera Åcieżki API, możliwe parametry, które sÄ
przyjmowane przez endpointy, itp.
+
+#### "Schemat" danych
+
+Termin "schemat" może również odnosiÄ siÄ do wyglÄ
du niektórych danych, takich jak zawartoÅÄ JSON.
+
+W takim przypadku bÄdzie to oznaczaÄ atrybuty JSON, ich typy danych itp.
+
+#### OpenAPI i JSON Schema
+
+OpenAPI definiuje API Schema dla Twojego API, który zawiera definicje (lub "schematy") danych wysyÅanych i odbieranych przez Twój interfejs API przy użyciu **JSON Schema**, standardu dla schematów danych w formacie JSON.
+
+#### Sprawdź `openapi.json`
+
+JeÅli jesteÅ ciekawy, jak wyglÄ
da surowy schemat OpenAPI, FastAPI automatycznie generuje JSON Schema z opisami wszystkich Twoich API.
+
+Możesz to zobaczyÄ bezpoÅrednio pod adresem: http://127.0.0.1:8000/openapi.json.
+
+Zobaczysz JSON zaczynajÄ
cy siÄ od czegoÅ takiego:
+
+```JSON
+{
+ "openapi": "3.0.2",
+ "info": {
+ "title": "FastAPI",
+ "version": "0.1.0"
+ },
+ "paths": {
+ "/items/": {
+ "get": {
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+
+
+
+...
+```
+
+#### Do czego sÅuży OpenAPI
+
+Schemat OpenAPI jest tym, co zasila dwa doÅÄ
czone interaktywne systemy dokumentacji.
+
+IstniejÄ
dziesiÄ
tki alternatyw, wszystkie oparte na OpenAPI. Możesz Åatwo dodaÄ dowolnÄ
z nich do swojej aplikacji zbudowanej za pomocÄ
**FastAPI**.
+
+Możesz go również użyÄ do automatycznego generowania kodu dla klientów, którzy komunikujÄ
siÄ z Twoim API. Na przykÅad aplikacje frontendowe, mobilne lub IoT.
+
+## Przypomnijmy, krok po kroku
+
+### Krok 1: zaimportuj `FastAPI`
+
+```Python hl_lines="1"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+`FastAPI` jest klasÄ
, która zapewnia wszystkie funkcjonalnoÅci Twojego API.
+
+!!! note "SzczegóÅy techniczne"
+ `FastAPI` jest klasÄ
, która dziedziczy bezpoÅrednio z `Starlette`.
+
+ Oznacza to, że możesz korzystaÄ ze wszystkich funkcjonalnoÅci Starlette również w `FastAPI`.
+
+
+### Krok 2: utwórz instancjÄ `FastAPI`
+
+```Python hl_lines="3"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+Zmienna `app` bÄdzie tutaj "instancjÄ
" klasy `FastAPI`.
+
+BÄdzie to gÅówny punkt interakcji przy tworzeniu caÅego interfejsu API.
+
+Ta zmienna `app` jest tÄ
samÄ
zmiennÄ
, do której odnosi siÄ `uvicorn` w poleceniu:
+
+
+
+```console
+$ uvicorn main:app --reload
+
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+```
+
+
+
+JeÅli stworzysz swojÄ
aplikacjÄ, np.:
+
+```Python hl_lines="3"
+{!../../../docs_src/first_steps/tutorial002.py!}
+```
+
+I umieÅcisz to w pliku `main.py`, to bÄdziesz mógÅ tak wywoÅaÄ `uvicorn`:
+
+
+
+```console
+$ uvicorn main:my_awesome_api --reload
+
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+```
+
+
+
+### Krok 3: wykonaj *operacjÄ na Åcieżce*
+
+#### Åcieżka
+
+"Åcieżka" tutaj odnosi siÄ do ostatniej czÄÅci adresu URL, zaczynajÄ
c od pierwszego `/`.
+
+WiÄc, w adresie URL takim jak:
+
+```
+https://example.com/items/foo
+```
+
+...ÅcieżkÄ
bÄdzie:
+
+```
+/items/foo
+```
+
+!!! info
+ "Åcieżka" jest zazwyczaj nazywana "path", "endpoint" lub "route'.
+
+Podczas budowania API, "Åcieżka" jest gÅównym sposobem na oddzielenie "odpowiedzialnoÅci" i âzasobówâ.
+
+#### Operacje
+
+"Operacje" tutaj odnoszÄ
siÄ do jednej z "metod" HTTP.
+
+Jedna z:
+
+* `POST`
+* `GET`
+* `PUT`
+* `DELETE`
+
+...i te bardziej egzotyczne:
+
+* `OPTIONS`
+* `HEAD`
+* `PATCH`
+* `TRACE`
+
+W protokole HTTP można komunikowaÄ siÄ z każdÄ
ÅcieżkÄ
za pomocÄ
jednej (lub wiÄcej) "metod".
+
+---
+
+Podczas tworzenia API zwykle używasz tych metod HTTP do wykonania okreÅlonej akcji.
+
+Zazwyczaj używasz:
+
+* `POST`: do tworzenia danych.
+* `GET`: do odczytywania danych.
+* `PUT`: do aktualizacji danych.
+* `DELETE`: do usuwania danych.
+
+Tak wiÄc w OpenAPI każda z metod HTTP nazywana jest "operacjÄ
".
+
+BÄdziemy je również nazywali "**operacjami**".
+
+#### Zdefiniuj *dekorator operacji na Åcieżce*
+
+```Python hl_lines="6"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+`@app.get("/")` mówi **FastAPI** że funkcja poniżej odpowiada za obsÅugÄ Å¼Ä
daÅ, które trafiajÄ
do:
+
+* Åcieżki `/`
+* używajÄ
c operacji get
+
+!!! info "`@decorator` Info"
+ SkÅadnia `@something` jest w Pythonie nazywana "dekoratorem".
+
+ Umieszczasz to na szczycie funkcji. Jak ÅadnÄ
ozdobnÄ
czapkÄ (chyba stÄ
d wziÄÅa siÄ nazwa).
+
+ "Dekorator" przyjmuje funkcjÄ znajdujÄ
cÄ
siÄ poniżej jego i coÅ z niÄ
robi.
+
+ W naszym przypadku dekorator mówi **FastAPI**, że poniższa funkcja odpowiada **Åcieżce** `/` z **operacjÄ
** `get`.
+
+ Jest to "**dekorator operacji na Åcieżce**".
+
+Możesz również użyÄ innej operacji:
+
+* `@app.post()`
+* `@app.put()`
+* `@app.delete()`
+
+Oraz tych bardziej egzotycznych:
+
+* `@app.options()`
+* `@app.head()`
+* `@app.patch()`
+* `@app.trace()`
+
+!!! tip
+ Możesz dowolnie używaÄ każdej operacji (metody HTTP).
+
+ **FastAPI** nie narzuca żadnego konkretnego znaczenia.
+
+ Informacje tutaj sÄ
przedstawione jako wskazówka, a nie wymóg.
+
+ Na przykÅad, używajÄ
c GraphQL, normalnie wykonujesz wszystkie akcje używajÄ
c tylko operacji `POST`.
+
+### Krok 4: zdefiniuj **funkcjÄ obsÅugujÄ
cÄ
ÅcieżkÄ**
+
+To jest nasza "**funkcja obsÅugujÄ
ca ÅcieżkÄ**":
+
+* **Åcieżka**: to `/`.
+* **operacja**: to `get`.
+* **funkcja**: to funkcja poniżej "dekoratora" (poniżej `@app.get("/")`).
+
+```Python hl_lines="7"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+Jest to funkcja Python.
+
+Zostanie ona wywoÅana przez **FastAPI** za każdym razem, gdy otrzyma żÄ
danie do adresu URL "`/`" przy użyciu operacji `GET`.
+
+W tym przypadku jest to funkcja "asynchroniczna".
+
+---
+
+Możesz również zdefiniowaÄ to jako normalnÄ
funkcjÄ zamiast `async def`:
+
+```Python hl_lines="7"
+{!../../../docs_src/first_steps/tutorial003.py!}
+```
+
+!!! note
+ JeÅli nie znasz różnicy, sprawdź [Async: *"In a hurry?"*](/async/#in-a-hurry){.internal-link target=_blank}.
+
+### Krok 5: zwrÃ³Ä zawartoÅÄ
+
+```Python hl_lines="8"
+{!../../../docs_src/first_steps/tutorial001.py!}
+```
+
+Możesz zwróciÄ `dict`, `list`, pojedynczÄ
wartoÅÄ jako `str`, `int`, itp.
+
+Możesz również zwróciÄ modele Pydantic (wiÄcej o tym później).
+
+Istnieje wiele innych obiektów i modeli, które zostanÄ
automatycznie skonwertowane do formatu JSON (w tym ORM itp.). Spróbuj użyÄ swoich ulubionych, jest bardzo prawdopodobne, że sÄ
już obsÅugiwane.
+
+## Podsumowanie
+
+* Zaimportuj `FastAPI`.
+* Stwórz instancjÄ `app`.
+* Dodaj **dekorator operacji na Åcieżce** (taki jak `@app.get("/")`).
+* Napisz **funkcjÄ obsÅugujÄ
cÄ
ÅcieżkÄ** (takÄ
jak `def root(): ...` powyżej).
+* Uruchom serwer deweloperski (`uvicorn main:app --reload`).
diff --git a/docs/pl/mkdocs.yml b/docs/pl/mkdocs.yml
index 0c3d100e77..86383d9853 100644
--- a/docs/pl/mkdocs.yml
+++ b/docs/pl/mkdocs.yml
@@ -58,6 +58,7 @@ nav:
- zh: /zh/
- Samouczek:
- tutorial/index.md
+ - tutorial/first-steps.md
markdown_extensions:
- toc:
permalink: true