Punkty końcowe są istotną częścią procesów biznesowych i ogólnie rozwoju aplikacji. W tym artykule definiujemy czym są endpointy, dlaczego ich potrzebujemy i jak je tworzyć na platformie AppMaster.io.
Czym jest punkt końcowy?
Endpoint to brama, która łączy procesy serwerowe aplikacji z zewnętrznym interfejsem. Innymi słowy jest to adres, na który wysyłane są żądania.
Ważne jest, aby wspomnieć o tym, jak działa API, aby zrozumieć, czym są punkty końcowe. API jest skrótem od interfejsu programowania aplikacji. Aplikacje używają interfejsów API do interakcji z usługami stron trzecich i ich użytkownikami.
Aby połączyć się z API, należy wysłać żądanie. W celu poprawnego przetworzenia żądania klient musi podać uniwersalny wskaźnik zasobów (URL), metodę HTTP oraz, w zależności od metody, dodać nagłówki, ciało i parametry żądania. Nagłówki dostarczają metadanych o żądaniu, natomiast ciało zawiera dane, takie jak pola dla nowych wierszy w bazie danych.
API przetworzy żądanie i wyśle odpowiedź otrzymaną z serwera. Odpowiedź będzie zawierać kod stanu, który jest częścią komunikatu odpowiedzi HTTP informującego klienta o wyniku żądania. Na przykład kod 200 jest używany, jeśli operacja została zakończona pomyślnie, 500 jeśli wystąpił wewnętrzny błąd serwera.
Punkty końcowe współpracują z metodami API. Są to określone adresy URL, których aplikacja używa do komunikacji z usługami stron trzecich i swoimi użytkownikami. Adres URL to trasa, która może obsługiwać różne metody żądań. Każdy typ żądania jest oddzielnym punktem końcowym. Istnieje pięć głównych typów:
- GET - pobiera informacje z serwera; nie wymaga ciała żądania;
- POST - tworzy nowy obiekt w bazie danych, wymaga ciała żądania z polami tego obiektu;
- PUT - całkowicie resetuje określony obiekt w bazie danych;
- PATCH - podobnie jak PUT, resetuje określony obiekt w bazie danych, ale zaktualizuje tylko te pola, które zostały wymienione w ciele żądania;
- DELETE - usuwa obiekt z bazy danych.
Podczas tworzenia konkretnego żądania można dodać do niego różne parametry. Połączenie tych parametrów i adresu URL stanowi URI - Uniform Resource Identifier. Wskazuje on, gdzie i jak można znaleźć dany zasób.
Jak można skonfigurować punkty końcowe na platformie AppMaster.io?
W sekcji Endpoints na platformie AppMaster.io możesz zobaczyć wszystkie automatycznie wygenerowane punkty końcowe i punkty końcowe twojego projektu. Jeśli autogeneracja ekranów i stron w twoim projekcie jest włączona, zostaną automatycznie utworzone odpowiednie punkty końcowe dla każdego utworzonego modelu danych. Również punkty końcowe mogą być tworzone automatycznie podczas instalacji niektórych modułów, na przykład autoryzacji (Auth), krajów i miast i innych.
AppMaster.io pozwala na pracę z kilkoma rodzajami API endpointów:
- API dla dostępu do backendu z poziomu klienta i systemów firm trzecich;
- webhooks do otrzymywania powiadomień z systemów firm trzecich;
- WebSockets, do otwierania dwukierunkowej interaktywnej sesji komunikacyjnej między przeglądarką a serwerem bez pytania serwera o odpowiedź.
Wszystkie punkty końcowe są pogrupowane. W obrębie każdej grupy znajdują się wszystkie odpowiadające im punkty końcowe, ich typy żądań, adresy URL oraz procesy biznesowe, z którymi są połączone. Wszystkie punkty końcowe mogą być usuwane i edytowane przez użytkownika.
Podczas tworzenia lub edycji punktu końcowego, w oknie konfiguracji dostępne są następujące opcje:
- Metoda żądania. GET, POST, PUT, DELETE lub PATCH.
- Adres URL żądania. Pierwsza część ze ścieżką do serwera nie jest określana, ponieważ jest ona taka sama dla wszystkich endpointów aplikacji. Wystarczy ustawić końcówkę, na przykład /users. Tutaj również określa się parametr URL. Załóżmy, że endpoint jest przeznaczony do odbierania informacji o konkretnym użytkowniku. W takim przypadku jego ID należy wpisać po ":" (/users/:id) i przekazać jako parametr.
- Grupy punktów końcowych. Ten parametr ma na celu uporządkowanie i ustrukturyzowanie pracy z endpointami. Wszystkie punkty końcowe można podzielić na grupy (foldery).
- Proces biznesowy. Jeden z najbardziej krytycznych parametrów, który określa co będzie robił endpoint. Jednocześnie sam endpoint może pozostać niezmieniony. Będzie odbierał wszystkie te same żądania pod starym adresem, a w przypadku wymiany procesu biznesowego będzie pełnił inną funkcję. Procesy biznesowe dla podstawowych operacji na bazie danych są tworzone automatycznie. Nie można ich edytować, ale w razie potrzeby można je zastąpić niestandardowymi BP.
Ponadto można skonfigurować oprogramowanie pośredniczące (middleware). Middleware to oprogramowanie pośredniczące, które służy jako filtr podczas przetwarzania żądań aplikacji. Oprogramowanie pośredniczące służy do sprawdzania wszelkich warunków przed wykonaniem żądania. Na przykład, jeśli utworzysz oprogramowanie pośredniczące do sprawdzania uwierzytelniania użytkownika, oprogramowanie pośredniczące przekieruje użytkownika do strony logowania, jeśli użytkownik nie jest zalogowany. Jeśli jest zalogowany, middleware nie będzie ingerować w przetwarzanie żądania, przekazując je do klienta.
Tworzenie punktu końcowego w AppMaster.io
Rozważmy konfigurację endpointów w praktyce i przeanalizujmy ją na przykładzie projektu Aviato. Pełny proces tworzenia tego projektu znajdziesz na kursie AppMaster.io.
W ramach projektu stworzyliśmy dwa procesy biznesowe:
- Validate and create flights - proces, który posłuży do zastąpienia procesu biznesowego Create flight;
- Register passenger - do rejestracji pasażera na konkretny lot.
Teraz możemy użyć tych procesów do ustawienia punktów końcowych w projekcie.
Zacznijmy od procesu biznesowego Validate and create flights. Grupa Flight posiada już punkt końcowy POST/flights do tworzenia lotów. Teraz musimy zastąpić załączony proces biznesowy nowym. Aby to zrobić, musimy edytować punkt końcowy.
W oknie konfiguracji wybieramy pożądany proces biznesowy. W naszym przypadku jest to Validate i create flights BP. Następnie musimy wybrać wszystkie wymagane zmienne wejściowe i zapisać zmiany.
Teraz możemy skonfigurować kolejny punkt końcowy dla procesu biznesowego Register passenger.
Naszym celem jest stworzenie sekcji umożliwiającej przeglądanie konkretnego lotu i pasażerów z nim związanych oraz skonfigurowanie procesu rejestracji nowych pasażerów.
W grupie punktów końcowych Flights musimy utworzyć nowy punkt końcowy: /flights/:id/register, gdzie id odnosi się do konkretnego lotu, który możemy wykorzystać jako dane wejściowe w procesie biznesowym.
Klikając na ikonę Plus, możemy dodać nowy endpoint. Metodą żądania będzie POST, ponieważ tworzymy nowy obiekt. Wybieramy proces Register passenger dla naszego BP i zapisujemy wszystkie wprowadzone zmiany.
Tak właśnie wygląda proste tworzenie endpointów na platformie AppMaster.io. Pełny tutorial wideo:
Podsumowanie
Punkty końcowe odgrywają istotną rolę w działaniu API, które z kolei jest niezbędne do rozbudowy projektów i wygodnej integracji usług i aplikacji. Platforma no-code AppMaster.io ułatwia pracę z endpointami tworząc je i konfigurując. Zawsze można zarejestrować się na platformie i sprawdzić wszystkie funkcjonalności.