Spis treści:

Naucz się Pythona za darmo: od bota Telegrama do strony internetowej pod okiem Ekspert z Sber
Dowiedz się więcejPython nie słynie z wysokiej szybkości wykonywania kodu, a w przypadku projektów o dużym obciążeniu wielu programistów woli używać Go lub Node.js. Jednak wraz z pojawieniem się FastAPI sytuacja się zmieniła: teraz możliwe jest tworzenie szybkich, asynchronicznych i łatwo skalowalnych aplikacji internetowych w Pythonie. W tym artykule przyjrzymy się temu, co dokładnie wyróżnia FastAPI spośród innych narzędzi i pokażemy, jak można od podstaw opracować pełnoprawny interfejs API z automatycznym generowaniem dokumentacji.
Spis treści
- Czym jest FastAPI
- Jakie są zalety FastAPI
- Wady FastAPI
- Tworzenie własnego interfejsu API za pomocą FastAPI
- Przegląd projektu
- Co dalej?
Czym jest FastAPI
FastAPI to nowoczesne środowisko do tworzenia aplikacji internetowych i interfejsów API w języku Python, które zyskało popularność ze względu na swoją prostotę i dużą szybkość. Za pomocą zaledwie kilku linijek kodu można skonfigurować serwer, który może przyjmować żądania, przetwarzać je i zwracać wyniki — niezależnie od tego, czy są to dane z bazy danych, odpowiedzi sieci neuronowych, czy wyniki obliczeń.
FastAPI został opracowany w 2018 roku, aby zaradzić niedociągnięciom tradycyjnych frameworków Pythona, takich jak Flask i Django. Chociaż narzędzia te dobrze radziły sobie z tworzeniem prostych stron internetowych, zaczęły napotykać problemy z wydajnością wraz ze wzrostem liczby żądań i zmianą asynchronicznego podejścia Pythona.
Ten zupełnie nowy framework łączy szereg kluczowych technologii, zapewniając wyjątkową szybkość i łatwość obsługi:
- Starlette stanowi rdzeń aplikacji i definiuje proces, w którym serwer akceptuje i przetwarza przychodzące żądania. Dzięki temu FastAPI może działać w trybie asynchronicznym i obsługiwać duże obciążenia.
- Pydantic zapewnia weryfikację danych, co jest szczególnie przydatne w sytuacjach, gdy na przykład użytkownik próbuje przesłać tekst zamiast wartości liczbowej. W takich przypadkach framework natychmiast zgłosi błąd, zapobiegając awarii całej aplikacji.
- Adnotacje typu w Pythonie pomagają tworzyć bardziej przejrzysty i bezpieczny kod: wystarczy wskazać, jakich danych się oczekuje, a FastAPI automatycznie je sprawdzi i doda wszystkie niezbędne informacje do dokumentacji.
FastAPI znajduje zastosowanie w sytuacjach wymagających szybkiego przetwarzania żądań, zarówno w małych usługach, jak i na platformach o dużej skali. Programiści Pythona używają go do tworzenia strony serwerowej aplikacji internetowych, a specjaliści DevOps i inżynierowie integracji do tworzenia mikrousług i łączenia różnych systemów. Specjaliści od uczenia maszynowego używają również FastAPI do wdrażania modeli i udostępniania ich za pośrednictwem interfejsów API.
Framework jest wykorzystywany do tworzenia chatbotów, a także urządzeń IoT wymagających szybkiej reakcji na napływające dane.
Co jest tak wspaniałego w FastAPI
Głównymi zaletami FastAPI są wyjątkowa szybkość, niezawodność i możliwość automatycznego generowania dokumentacji.
Wydajność. Porównywalna z językami takimi jak Node.js i Go, dzięki asynchronicznej architekturze: framework nie czeka na zakończenie jednej operacji, aby przejść do następnej. Jest w stanie obsługiwać wiele żądań jednocześnie, a raczej przełączać się między nimi tak szybko, że jest to praktycznie niezauważalne.
Niezależne testy, w tym test Sharkbench, potwierdziły skuteczność frameworka. Aplikacje opracowane z wykorzystaniem FastAPI wykazały jedne z najlepszych wyników szybkości spośród wszystkich frameworków Pythona. Pozwala to na znaczną oszczędność zasobów serwera, co jest szczególnie ważne w przypadku projektów, które oczekują dużego ruchu.
Typowanie i walidacja. Korzystając z FastAPI, zauważysz, że ilość kodu, który musisz napisać, jest znacznie zmniejszona dzięki adnotacjom typu: określasz typy danych, a framework automatycznie je sprawdza.
Oto na przykład podstawowa funkcja, która dodaje dwie liczby i nie zawiera żadnych adnotacji:
W powyższym przykładzie Python nie ma informacji o typach zmiennych a i b. W związku z tym funkcja albo sumuje liczby, albo łączy ciągi znaków, w zależności od przekazanych danych. Jeśli typy są niepoprawne, program nie wyświetli błędów, ale wynik końcowy może być niepoprawny.
Oto przykład użycia FastAPI, gdzie typowanie jest określone bezpośrednio w argumentach funkcji:
W tym przypadku a: int i b: int to parametry, które FastAPI automatycznie weryfikuje, zapewniając, że przychodzące żądanie zawiera wartości liczbowe. Format żądania przedstawia się następująco:
Odpowiedź:
Jeśli zamiast liczby zostanie przekazana wartość, na przykład a=pięć, FastAPI natychmiast wygeneruje błąd, wskazując, że wprowadzone dane są nieprawidłowe.
Interaktywna dokumentacja. FastAPI automatycznie tworzy dokumentację, tworząc stronę wyświetlającą wszystkie dostępne punkty końcowe (adresy żądań), parametry i możliwe odpowiedzi.
Po uruchomieniu aplikacji FastAPI automatycznie tworzy dwie ścieżki specjalne – zazwyczaj /docs i /redoc. Jeśli uzyskasz dostęp do tych stron za pomocą przeglądarki, znajdziesz interaktywny interfejs, który umożliwia wybranie dowolnej metody API, wyświetlenie akceptowanych przez nią danych i przetestowanie jej bezpośrednio w przeglądarce.


Programiści, testerzy i analitycy mogą monitorować zmiany w strukturze API wynikające z aktualizacji oprogramowania, monitorować dodawanie nowych pól, identyfikować błędy i sprawdzać serwer odpowiedzi.
Wady FastAPI
FastAPI to doskonały i szybki framework, ale nie jest pozbawiony pewnych wad.
Podejście asynchroniczne. Operacje asynchroniczne są jednym z czynników wpływających na wysoką szybkość FastAPI, ale wymagają ostrożności. Jeśli przypadkowo użyjesz kodu synchronicznego wewnątrz funkcji asynchronicznej, serwer będzie czekał na zakończenie tej operacji, co zniweczy wszystkie korzyści płynące z asynchroniczności. Dlatego tworzenie i debugowanie aplikacji w FastAPI może być trudniejszym zadaniem, szczególnie dla tych, którzy dopiero zaczynają przygodę z tą technologią.
Wydajność nie zawsze jest doskonała. FastAPI przewyższa Flask w sytuacjach, gdy konieczne jest jednoczesne obsłużenie dużej liczby żądań, zwłaszcza w trybie asynchronicznym. Jednak jeśli aplikacja obsługuje proste zadania pojedynczo, różnica w szybkości staje się ledwo zauważalna. W niektórych przypadkach Flask lub Django mogą działać nawet lepiej, ponieważ mają mniej wbudowanych sprawdzeń, co skraca czas przetwarzania każdego pojedynczego żądania.
Ekosystem FastAPI jest mniej rozwinięty. Podczas gdy Django to w pełni rozwinięte środowisko do tworzenia aplikacji internetowych, FastAPI przypomina raczej zestaw komponentów, z których programista musi złożyć wszystko, co potrzebne. Nie ma wbudowanych rozwiązań do administracji, zadań w tle ani zarządzania użytkownikami – programista musi sam zaimplementować algorytmy rejestracji, autoryzacji i potwierdzania wiadomości e-mail.
Ta metoda oferuje swobodę wyboru i elastyczność, ale wymaga dużego doświadczenia i czasu. FastAPI jest idealne dla tych, którzy wolą samodzielnie decydować, z których narzędzi korzystać, zamiast polegać na istniejącej architekturze.

Przeczytaj również:
Tworzenie idealnego interfejsu API internetowego: zalecenia i typowe błędy, których należy unikać
Tworzenie interfejsu API internetowego wymaga ostrożnego podejścia i znajomość wielu niuansów. Aby stworzyć naprawdę efektywny interfejs, ważne jest rozważenie kilku kluczowych aspektów i zwrócenie uwagi na typowe błędy.
Przede wszystkim kluczowe jest prawidłowe zaprojektowanie struktury API. Konieczne jest jasne zdefiniowanie, jakie dane będą dostępne i w jaki sposób użytkownicy będą mogli o nie wnioskować. Standardowe praktyki, takie jak stosowanie zasad RESTful, mogą znacznie uprościć proces tworzenia i interakcji z API. Ważne jest również, aby wziąć pod uwagę, że różni klienci mogą mieć różne wymagania, dlatego warto rozważyć elastyczność i rozszerzalność interfejsu.
Podczas projektowania ważne jest zachowanie spójności nazw punktów końcowych i typów żądań. To nie tylko ułatwia pracę programistom, ale także sprawia, że API jest bardziej intuicyjne dla użytkowników. Ponadto prawidłowe użycie kodów statusu HTTP pozwala na jaśniejszą komunikację dotyczącą wyniku żądania, poprawiając ogólne wrażenia.
Bezpieczeństwo API jest równie ważne. Należy wdrożyć metody uwierzytelniania i autoryzacji, aby chronić dane i zapobiegać nieautoryzowanemu dostępowi. Korzystanie z tokenów i szyfrowania danych pomoże zwiększyć bezpieczeństwo Twojego API.
Dokumentacja to również dobry punkt wyjścia. Dobrze napisana i przejrzysta dokumentacja znacznie uprości proces integracji dla programistów korzystających z Twojego API. Ważne jest, aby szczegółowo opisać wszystkie możliwości interfejsu, przykłady żądań i odpowiedzi, a także wskazać możliwe błędy i sposoby ich rozwiązania.
Na koniec nie zapomnij o testowaniu. Regularne sprawdzanie funkcjonalności i wydajności Twojego API pomoże wcześnie zidentyfikować wady i poprawić jego jakość.
Zapoznając się z powyższymi zaleceniami i unikając typowych błędów, możesz stworzyć niezawodne i przyjazne dla użytkownika API internetowe, które spełni potrzeby Twoich użytkowników.
Tworzenie własnego API za pomocą FastAPI
Opracujemy pełnoprawne API, które będzie zawierało obsługę bazy danych, a także funkcje autoryzacji i uwierzytelniania użytkowników. Nie martw się, jeśli nie masz doświadczenia w pracy z bazami danych — użyjemy symulowanej. Ważne jest jednak, abyś posiadał podstawową znajomość Pythona w wersji 3.8 lub nowszej oraz rozumiał podstawy pracy z terminalem, w przeciwnym razie będziesz miał trudności z opanowaniem materiału.
Najpierw musisz utworzyć środowisko wirtualne. Środowisko wirtualne to odizolowane środowisko do pracy z Pythonem, oddzielone od głównego środowiska systemu operacyjnego. Jest to konieczne, aby uniknąć konfliktów między pakietami a systemem. Wprowadź następujące polecenie w terminalu:
Lub:
Utworzyłeś katalog o nazwie fastapi_project i zainstalowałeś środowisko wirtualne. Zakładając, że wszystkie kroki zostały wykonane poprawnie, folder fastapi_project powinien zawierać katalogi bin, include, lib, lib64, a także plik o nazwie pyvenv.cfg.
Teraz musisz aktywować środowisko. Jeśli używasz systemu Linux lub Mac:
W systemie Windows:
Jeśli wykonałeś wszystkie kroki, nazwa (fastapi_project) powinna zostać wyświetlona przed monitem w terminalu. Oznacza to, że Twoje środowisko zostało pomyślnie aktywowane.

Zainstaluj FastAPI:
Teraz, gdy projekt jest po pomyślnej konfiguracji możesz przystąpić do wykonywania zadań.

Przeczytaj także:
Instalacja PIP dla Pythona: przewodnik krok po kroku i polecenia klawiszowe
PIP, menedżer pakietów dla Pythona, umożliwia łatwą instalację i zarządzanie bibliotekami innych firm. Aby rozpocząć korzystanie z funkcji PIP, musisz ją zainstalować. Zobaczmy, jak to zrobić.
1. Sprawdź, czy Python jest zainstalowany. Otwórz terminal lub wiersz poleceń i wpisz polecenie:
«`
python —version
«`
lub
«`
python3 —version
«`
Jeśli Python jest zainstalowany, zobaczysz jego wersję. W przeciwnym razie musisz najpierw pobrać i zainstalować Pythona z oficjalnej strony internetowej.
2. Jeśli Python jest już zainstalowany, funkcja PIP może być zainstalowana razem z nim. Aby to zrobić, uruchom następujące polecenie:
«`
python -m Ensurepip
«`
lub
«`
python3 -m Ensurepip
«`
3. Jeśli masz już PIP, ale chcesz dokonać aktualizacji do najnowszej wersji, użyj polecenia:
«`
python -m pip install —upgrade pip
«`
lub
«`
python3 -m pip install —upgrade pip
«`
Po zainstalowaniu PIP możesz zacząć go używać do instalowania bibliotek. Oto kilka podstawowych poleceń, które mogą Ci się przydać:
— Aby zainstalować pakiet, uruchom polecenie:
«`
pip install nazwa_pakietu
«`
— Aby odinstalować pakiet, użyj polecenia:
«`
pip uninstall nazwa_pakietu
«`
— Aby wyświetlić listę wszystkich zainstalowanych pakietów, uruchom polecenie:
«`
pip list
«`
— Aby uzyskać informacje o konkretnym pakiecie, użyj:
«`
pip show package_name
«`
Te polecenia pomogą Ci efektywnie zarządzać bibliotekami Pythona za pomocą PIP.
Zacznijmy tworzyć nasze pierwsze API. W tym celu utwórz plik main.py w katalogu fastapi_project i wklej do niego następujący kod:
Aby uruchomić serwer, upewnij się, że jesteś w katalogu fastapi_project:
Uruchom przeglądarkę i wpisz adres http://127.0.0.1:8000. Na ekranie pojawi się komunikat {«message»: «Witaj świecie»}.

Dokumentację można przeglądać pod następującym adresem: http://127.0.0.1:8000/docs. Następnie wybierz GET /, kliknij przycisk „Wypróbuj”, a następnie uruchom polecenie, aby zobaczyć wynik.

Odpowiedź będzie widoczna również w terminalu.

Aby zamknąć serwer, użyj kombinacji klawiszy Ctrl + C. Ponowne uruchomienie serwera po edycji kodu nie jest możliwe. Wymagane, ponieważ FastAPI ma funkcję automatycznego ładowania zmian. Jeśli Twój edytor tekstu nie ma funkcji automatycznego zapisywania, pamiętaj o zapisaniu pliku po każdej zmianie, w przeciwnym razie zmiany w kodzie nie zostaną uwzględnione na serwerze.
Punkty końcowe to adresy w interfejsie API, których klienci używają do wysyłania żądań. Korzystaliśmy już z automatycznie utworzonego punktu końcowego /docs podczas przeglądania dokumentacji. Teraz utwórzmy nasz własny. Aby to zrobić, utwórz plik o nazwie endpoints.py w katalogu fastapi_project:
Edytujmy plik main.py, importując funkcję register_endpoints i wywołując ją.
Sprawdźmy, czy wszystko działa poprawnie. Otwórz link http://127.0.0.1:8000/items/5 — w odpowiedzi powinieneś zobaczyć {«item_id»: 5}.

Podczas próby dostępu do adresu http://127.0.0.1:8000/items/abc, FastAPI wygeneruje błąd, ponieważ oczekuje przekazania liczby w tym miejscu.

Struktura reprezentowana przez {«item_id»: 5} jest powszechnie nazywana parametrem ścieżki. Jest to element adresu URL, który może się zmieniać. W tym przykładzie po fragmencie items/ można wstawić dowolną liczbę całkowitą.
Wprowadźmy parametr zapytania — jest to informacja przekazywana przez adres URL po symbolu ?. Na przykład adres http://127.0.0.1:8000/items/5?q=hello przekazuje parametr q o wartości hello. Użycie parametrów zapytania pozwala na wygodne przekazywanie dodatkowych informacji, takich jak zapytania wyszukiwania. Teraz zmieńmy punkt końcowy items/:
Teraz, klikając link http://127.0.0.1:8000/items/5?q=hello, otrzymamy następującą odpowiedź: {«item_id»: 5, «q»: «hello»}.

Pod adresem http://127.0.0.1:8000/items/5 możesz zobaczyć następującą odpowiedź: {«item_id»: 5, «q»: null}.

W niektórych przypadkach konieczne jest ustawienie ograniczeń na wartości, które użytkownik może przekazać za pośrednictwem adresu URL. Załóżmy na przykład, że utworzymy punkt końcowy models/ z parametrem {model}, który może akceptować tylko dwie wartości: a i b. Wbudowany moduł Enum idealnie nadaje się do tego celu, ponieważ został zaprojektowany do tworzenia wyliczeń stałych. W pliku endpoints.py dodaj import dla Enum i utwórz klasę do przechowywania tych wartości:
Na końcu funkcji register_endpoints zaimplementujemy nowy punkt końcowy, uwzględniając poprawne wcięcie:
Przejdź do http://127.0.0.1:8000/models/a, a otrzymasz odpowiedź w formacie {«model»: «a»}. To samo stanie się, jeśli przejdziesz do http://127.0.0.1:8000/models/b. Jeśli jednak spróbujesz uzyskać dostęp do http://127.0.0.1:8000/models/c, FastAPI zwróci błąd, ponieważ c nie znajduje się na liście prawidłowych wartości określonych w modelu.

Media
Wdrożymy dwa nowe punkty końcowe dla użytkowników: jeden statyczny, a drugi dynamiczny.
Ważne jest zachowanie kolejności, aby uniknąć pomyłek ze strony FastAPI. W ten sposób pod adresem http://127.0.0.1:8000/users/me otrzymamy odpowiedź w postaci {«user_id»: «me»}.
Jeśli uzyskamy dostęp do adresu, na przykład http://127.0.0.1:8000/users/igor, otrzymamy następujący wynik: {«user_id»: «igor»}.
Wprowadzimy możliwość odbierania danych od użytkownika poprzez treść żądania. Ten element będzie pełnić funkcję formularza, który użytkownik wypełnia i przesyła na serwer.
W naszym projekcie wykorzystamy Pydantic, bibliotekę zaprojektowaną do weryfikacji poprawności formatu danych (na przykład, aby upewnić się, że liczba jest faktycznie liczbą, a nie tekstem). W przypadku wykrycia nieprawidłowych danych FastAPI automatycznie wygeneruje błąd. Dodatkowo zaimplementujemy mechanizm walidacji, który będzie blokował produkty o nadmiernie wysokiej cenie.
Zaktualizuj importy w pliku endpoints.py.
Wprowadź klasę opisującą strukturę danych:
Dodaj nowy punkt końcowy na końcu listy register_endpoints:
Przejdź do http://127.0.0.1:8000/docs, a następnie znajdź punkt końcowy POST /items/. Kliknij przycisk „Wypróbuj” i wyślij żądanie w formacie JSON. Ten format danych przypomina słownik w Pythonie:
Odpowiedzią na Twoje żądanie będą dane w formacie: {«name»: «apple», «price»: 1.5, «description»: «A sauce apple»}. Jeśli jednak spróbujesz wysłać dane w formacie {«name»: «apple», «price»: «abc»}, system FastAPI zwróci błąd 422, ponieważ wartość pola ceny musi być liczbą. Jeśli wyślesz {«name»: «apple», «price»: 150}, wystąpi błąd 400 z komunikatem „Za drogo”, ponieważ cena przekracza limit 100.
Uwierzytelnianie odpowiada na pytanie o Twoją tożsamość, podczas gdy autoryzacja określa Twoje uprawnienia i możliwości. W ramach naszego systemu bezpieczeństwa wdrożymy dwie metody ochrony: klucz API, który zostanie przedstawiony w nagłówku żądania, oraz protokół HTTP Basic, który wymaga podania nazwy użytkownika i hasła. Zacznijmy od integracji klucza API. Aby to zrobić, utwórz plik auth.py w katalogu fastapi_project:
W pliku endpoints.py musisz zaktualizować zaimportowane moduły.
Zastąp bieżący punkt końcowy get.items/ punktem końcowym, który używa klucza API z pliku endpoints.py:
W sekcji /docs, dla żądania GET /items/{item_id}, musisz wprowadzić tajny kod w polu Authorize. Dostęp do formularza autoryzacji jest możliwy za pomocą zielonego przycisku z obrazkiem kłódki, który pojawia się po prawej stronie.

Uruchom test za pomocą item_id równy 5 – w rezultacie otrzymasz odpowiedź w formacie {«item_id»: 5, «q»: null}. Jeśli wpiszesz nieprawidłowy klucz, system zwróci błąd 401.

Wdrożymy proces autoryzacji. Musisz zaktualizować importy w pliku auth.py:
Dołącz procedurę weryfikacji nazwy użytkownika i hasła zarówno dla użytkownika standardowego, jak i administratora na końcu dokumentu.
W pliku endpoints.py musisz wprowadzić zmiany w zaimportowanych modułach z pliku auth.py.
Zaktualizuj punkt końcowy, dodając wstępnie zdefiniowanego użytkownika:
Zaimplementuj administracyjny punkt końcowy:
Sprawdźmy, czy wszystko działa poprawnie. Przejdź do katalogu /docs. W przypadku żądania GET /users/me wpisz swoją nazwę użytkownika w polu „user” i hasło w polu „pass” w sekcji „Autoryzacja → Podstawowe HTTP”. W rezultacie powinieneś otrzymać odpowiedź w formacie {«user_id»:

Spróbuj wykonać żądanie GET /admin/ za pomocą funkcji «Wypróbuj» → «Wykonaj» bez wcześniejszego uwierzytelnienia. W rezultacie otrzymasz błąd 403 z powiadomieniem „Tylko dla administratorów”.

Po zalogowaniu się do panelu administracyjnego i hasło pass, system zwróci odpowiedź w formacie: {«message»: «Welcome, admin»}.

W katalogu fastapi_project należy utworzyć plik o nazwie database.py.
W pliku endpoints.py należy wprowadzić zmiany, dodając odpowiednie importy.
W funkcji register_endpoints należy zaktualizować poprzedni punkt końcowy post/items/ nowym.
Wyślij żądanie POST do /items w sekcji /docs.

Produkt zostanie zapisany w pliku db.json, który został utworzony automatycznie.
Aby uzyskać dostęp do wszystkich dodanych produktów, należy dodać kolejny punkt końcowy w pliku endpoints.py:
Przejdź do sekcji /docs i wykonaj żądanie GET, aby /rzeczy/. W rezultacie otrzymasz listę produktów, na przykład [{«name»: «apple», «price»: 1.5, «description»: «A sauce apple»}].


Przeczytaj także:
Baza danych to uporządkowany zbiór informacji przeznaczony do przechowywania, zarządzania i i przetwarzają dane. Stanowią podstawę systemów wymagających ustrukturyzowanego dostępu do różnych typów informacji. Głównym celem bazy danych jest uproszczenie przechowywania i pobierania danych, a także zapewnienie ich integralności i bezpieczeństwa.
Bazy danych są niezbędne w wielu zastosowaniach, od księgowości korporacyjnej po przechowywanie danych na stronach internetowych. Umożliwiają użytkownikom i aplikacjom szybkie wyszukiwanie potrzebnych danych, analizowanie ich i wspierają interakcję między różnymi systemami. W dzisiejszym szybko rozwijającym się środowisku danych bazy danych odgrywają coraz ważniejszą rolę w efektywnym zarządzaniu informacjami.

Przegląd projektu
Projekt zakończony! Twój folder fastapi_project powinien teraz zawierać pięć plików: main.py, endpoints.py, auth.py, database.py i db.json. W przypadku jakichkolwiek problemów sprawdź kod pod kątem błędów.
main.py:
endpoints.py:
auth.py:
database.py:
Plik db.json będzie zawierał wszystkie informacje zapisane za pomocą żądań POST. W tym przykładzie będzie zawierał tylko jeden produkt:
Sprawdź, czy finalne wersje dokumentów zostały zapisane i czy polecenia w terminalu zostały poprawnie wprowadzone.
Co dalej?
Aby lepiej zrozumieć FastAPI, zapoznaj się z jego oficjalną dokumentacją. Obejmuje ona wszystkie jego funkcje, w tym możliwości asynchroniczne i integracje. Dokumentacja zawiera samouczki, przykłady kodu i zalecenia dotyczące najlepszych praktyk. Chociaż głównym językiem jest angielski, dostępne jest automatyczne tłumaczenie na rosyjski. Zalecamy rozpoczęcie od sekcji „Samouczek – Podręcznik użytkownika”. Dokumentacja jest regularnie aktualizowana, co zapewnia aktualność informacji. Jest to idealne źródło wiedzy do nauki złożonych zagadnień.
W ramach naszego projektu stworzyliśmy symulację bazy danych. Nie nadaje się ona jednak do użytku w praktyce. Aby zrozumieć prawidłowe podejście, warto zapoznać się z relacyjnymi i nierelacyjnymi bazami danych.
Praktyczne projekty wymagają testowania. Python oferuje kilka bibliotek zaprojektowanych w tym celu. Jedną z najbardziej znanych jest Pytest.
Aby udostępnić projekt innym użytkownikom, musi on zostać poprawnie wdrożony. Docker jest obecnie szeroko stosowany w branży. Dokumentacja zawiera osobną sekcję, która szczegółowo opisuje, jak go używać do wdrażania aplikacji w FastAPI.
Dowiedz się więcej ciekawych informacji o programowaniu na naszym kanale Telegram. Dołącz do nas!
Przeczytaj także:
- Interfejs API bota Telegramu: Przewodnik dla programistów botów
- Tworzenie idealnego interfejsu API internetowego: Najlepsze praktyki i typowe błędy w programowaniu
- API REST to styl architektoniczny używany do tworzenia usług sieciowych. Opiera się na zasadach REST (Representational State Transfer), który umożliwia aplikacjom komunikację ze sobą za pośrednictwem protokołu HTTP. Podstawową ideą jest użycie standardowych metod HTTP, takich jak GET, POST, PUT i DELETE, do wykonywania operacji na zasobach reprezentowanych w różnych formatach danych, najczęściej JSON lub XML.
API REST rozpoczyna się od wysłania przez klienta żądania do serwera, który przetwarza żądanie i zwraca odpowiednią odpowiedź. Każdy zasób w systemie ma unikalny identyfikator, zazwyczaj reprezentowany przez adres URL. Pozwala to klientowi określić, z którym zasobem chce wejść w interakcję.
Interfejsy API REST są łatwo skalowalne i oferują możliwość wykorzystania buforowania w celu optymalizacji wydajności. Co ważne, nie wymagają one utrzymywania stanu między żądaniami, co czyni je lekkimi i wydajnymi w systemach rozproszonych. Dlatego interfejsy API REST stały się popularnym wyborem do tworzenia nowoczesnych aplikacji internetowych i usług mobilnych.
