rest api tutorial rest api architecture
W tym samouczku dowiemy się o REST API, usługach sieci Web, architekturze REST API, ograniczeniach REST API oraz o tym, jak testować API za pomocą POSTMAN:
Wymagania wstępne: Podstawowa znajomość usług internetowych.
Czek tutaj aby dobrze zrozumieć usługi sieciowe.
Czego się nauczysz:
Co to jest REST API?
API to po prostu interfejs, który jest używany przez komponenty oprogramowania do komunikacji między sobą. Usługa to funkcja, która jest dobrze zdefiniowana, niezależna i nie zależy od innych usług.
Usługa sieci Web to rodzaj interfejsu API, prawie wszystkie z nich działają za pośrednictwem protokołu HTTP. Gdy interfejs API sieci Web jest opracowywany przy użyciu architektury REST, nosi nazwę REST Web API.
Obecnie istnieją dwa rodzaje usług internetowych:
- MYDŁO
- ODPOCZYNEK
Różnica między SOAP a REST
MYDŁO | ODPOCZYNEK |
---|---|
Do przesłania danych w treści żądania możemy użyć tylko formatu XML | Do wysłania zapytania możemy mieć format XML, JSON itp. |
To jest protokół | Jest to styl architektury i niezależny od jakiegokolwiek protokołu, REST może korzystać z usług sieciowych SOAP |
To skrót od Simple Object Access Protocol | To oznacza Representational State Transfer |
Wykorzystuje interfejsy usług do ujawnienia logiki biznesowej. | Używa identyfikatora URI do ujawnienia logiki biznesowej. |
SOAP ma ścisły standard, którego należy przestrzegać. | Nie ma takiego surowego standardu, za którym ma nastąpić REST. Jednak użytkownik może przestrzegać kilku standardów podczas tworzenia usługi internetowej przy użyciu REST. |
Wymaga większej przepustowości. | Jest lekki. |
Może zdefiniować własne bezpieczeństwo. | REST dziedziczy środki bezpieczeństwa z transportu. |
Najlepszym przykładem jest Google, AMAZON | Najlepszym przykładem jest YAHOO, LINKEDIN, AMAZON |
SOAP używa protokołu HTTP, SMTP itp | REST polega tylko na protokole HTTP. |
Reguły dotyczące wiążących komunikatów, operacji itp. Są napisane w języku WSDL | REST jest zgodny z formatem WADL do opisu funkcjonalności oferowanych przez usługi internetowe |
Jest znormalizowany. | Usługi REST są niestandardowe. |
Wymaga więcej czasu na naukę ze względu na obowiązujące zasady, wiążące itp. | Ze względu na swoją prostotę nauka zajmuje mniej czasu. |
Dlaczego warto wybrać REST zamiast mydła?
Poniższe punkty wyjaśniają powody, dla których warto wybrać REST zamiast SOAP.
- Bardzo dobrze nadaje się do tworzenia i testowania interfejsów API sieci Web.
- REST wymaga mniejszej przepustowości.
- Możemy używać AJAX dla internetowych API opartych na REST.
- Wymaga mniejszego narzutu związanego z analizą.
- Rozmiar ładunku utworzony przez JSON jest mniejszy.
W Internecie dostępnych jest wiele klientów / narzędzi, co pozwala nam korzystać z usług internetowych RESTful.
Oni są:
- Listonosz
- Zaawansowany klient odpoczynku
- Klient DHC Rest
- Żądający
- Bezsenność
- Pewny
- Plakat
Dlaczego Listonosz?
- Wyświetla wszystkie dostępne opcje.
- Listonosz ma dodatkową funkcję (znaną jako Runner).
- Przyjazny dla użytkownika interfejs użytkownika i łatwy w użyciu.
- Większa grupa / członkowie społeczności.
Architektura REST API
Jest to głównie architektura sieci WWW w stylu architektury oprogramowania. Jest przeznaczony dla rozproszonych systemów hipermedialnych. RESTful API bezpośrednio korzysta z metodologii HTTP zdefiniowanych przez protokół RFC 2616.
Kilka definicji
OGIEŃ oznacza interfejs programowania aplikacji. Jest to zestaw definicji podprogramów, protokołów i narzędzi służących do tworzenia oprogramowania aplikacji.
Usługi internetowe to niektóre kody programów, które zawierają dane / wbudowane metody. Są one wdrażane przez organizację za pośrednictwem Internetu, aby komunikować się z użytkownikami, aplikacjami innych firm itp. Do przekazywania wiadomości jako system przesyłania wiadomości używany jest głównie XML. XML po prostu koduje całą komunikację między użytkownikami a aplikacjami.
HTTP oznacza Hypertext Transfer Protocol, używany w sieci WWW. Definiuje, w jaki sposób wiadomości są formatowane i przesyłane oraz jakie działania podejmują serwery internetowe i przeglądarki w odpowiedzi na różne polecenia.
Styl architektoniczny, charakteryzują się one cechami, które służą do tworzenia konstrukcji, a nawet czynią ją wyjątkową. Istnieją dwa typy stylów: interfejs warstwowy i jednolity.
NIENAWIDZIĆ : Znany również jako jednolity identyfikator zasobów. Identyfikuje zasób (dokument tekstowy, plik obrazu itp.).
URL: Znany również jako Uniform Resource Locator. Jest to podzbiór identyfikatorów URI, który obejmuje lokalizację sieciową.
URNA : Znana również jako jednolita nazwa zasobu to podzbiór identyfikatorów URI, które zawierają nazwę w danej przestrzeni, ale nie zawierają lokalizacji.
Na przykład,
http://elearning.com/amazon/restapi.html#books
Tutaj, w powyższym przykładzie
NIENAWIDZIĆ : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNA : elearning.com/amazon/restapi.html#posts
java jak usunąć element z tablicy
Stąd adres URL jest identyfikatorem URI, który identyfikuje zasób, a także zapewnia środki do zlokalizowania zasobu poprzez opisanie sposobu uzyskania do niego dostępu.
Zatem każdy adres URL może być identyfikatorem URI, ale sytuacja odwrotna nie jest prawdą.
Usługa zgodna ze specyfikacją REST jest udostępniana za pośrednictwem jednolitego lokalizatora zasobów (adresu URL). Jest to nazwa logiczna, która oddziela tożsamość zasobu od tego, co jest akceptowane lub zwracane.
Przykładowa architektura REST:
Ograniczenia REST API
O interfejsie API mówi się, że jest zgodny ze standardem REST, jeśli spełnia następujące ograniczenia:
- Jednolity interfejs: Oznacza to, że niezależnie od klienta, z którego korzystamy, podstawowa koncepcja wdrażania i korzystania z usług REST pozostanie taka sama. Wszystkie opracowane interfejsy API REST powinny mieć wspólne podejście do programowania.
- Bezpaństwowcy: Oznacza to brak zapisywania sesji. Dlatego serwer nie będzie przechowywać żadnych żądań HTTP wysłanych przez klienta. Dlatego dla serwera każde żądanie HTTP jest nowym żądaniem. Bez względu na to, ile razy żądanie zostało wysłane lub klient jest wyjątkowy, czy nie.
- Pamięć podręczna: Buforowanie oznacza, jak często dane i odpowiedzi są uzyskiwane z pamięci podręcznej zamiast z serwera. Koncepcja buforowania ma zastosowanie podczas wysyłania żądania klienta. Tak więc poprawa wydajności odbywa się po stronie klienta.
- Klient-serwer: Serwer i Klienci są od siebie niezależni pod względem implementacji. Klient musi tylko wysłać identyfikator URI żądania wraz z uwierzytelnianiem lub bez niego. Następnie serwer wykonuje resztę kroku, czyli odpowiedź.
- System warstwowy: Klient może wysłać tylko żądanie do serwera jako identyfikator URI zasobu. Ale potem, zanim żądanie zostanie wysłane do serwera, istnieje REST API, które zapewnia nam warstwową architekturę systemu. Oznacza to, że możemy wdrożyć API na jednym serwerze, dane na innym, a uwierzytelnianie na innym.
- Kod na żądanie (opcjonalnie): Czasami klient może potrzebować czegoś więcej niż tylko odpowiedzi. REST API pozwala nam wysłać kod wykonywalny jako odpowiedź (ten kod wykonywalny może być widżetem lub dowolną kontrolką). Jednak jest całkowicie opcjonalne, czy włączyliśmy / zaimplementowaliśmy tę funkcję.
Jeszcze kilka terminologii związanych z Rest API:
Punkt końcowy : Jest to odniesienie do adresu URL, który akceptuje żądania internetowe. Usługę internetową można adresować za pomocą odwołania do punktu końcowego.
Na przykład, Http: // {Domain_URL} //librarygr/libraries.xml
Zasoby : Jest to podzbiór punktu końcowego. Zwykle punkty końcowe ujawniają niektóre obiekty, które mogą być używane przez usługi internetowe. Zasoby to w szczególności ta część obiektu, która znajduje się nad identyfikatorem URI punktu końcowego.
Na przykład, Http: // {URL_domeny} // api / pg_library / ornithology / swan
Ładowność : Ładunek to informacja wysyłana podczas wykonywania operacji POST lub PUT. Są to informacje określone w treści żądania HTTP.
Ładunki wysyłane są w formacie JSON, Na przykład,
{ Id: 1, name:'sam', phones:[{title:'mobile',number:9898989899}, {title:'home',number:8888888888}] }
Parametry :
Parametry możemy przekazywać na dwa sposoby.
Parametry zapytania : Przydatne do uzyskiwania dostępu do par klucz / wartość w ciągu zapytania adresu URL (część po znaku?)
Najlepszy przykład
http://jsonplaceholder.typicode.com/posts/?id=3
Parametry ścieżki: Warto dopasować część adresu URL jako parametr. Możemy przesłać informację jako parametr ścieżki w następujący sposób: Form-data, x-www-form-urlencoded, raw, binary.
Najlepszy przykład:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Co to jest POSTMAN?
POSTMAN to klient REST, po prostu aplikacja dostarczana z przeglądarką Chrome. Jest rozwijany z myślą o programistach, aby ułatwić testowanie wywołań API. Posiada własne GUI do wysyłania żądań API i odczytywania odpowiedzi API.
Testy REST API możemy wykonać zarówno ręcznie, jak i automatycznie.
W następnej sekcji dowiemy się, jak ręcznie przetestować Web API przy użyciu klienta POSTMAN.
Jak przetestować API z Postmanem?
Instalacja
Musimy uzyskać dostęp do Sklep internetowy Chrome . W przeglądarce Chrome wyszukaj Postman. Kliknij tutaj aby dodać go do przycisku Chrome.
Po pomyślnym zainstalowaniu POSTMAN można znaleźć w aplikacji Chrome. Wystarczy kliknąć ikonę Postman, aby otworzyć POSTMAN. Pierwsze uruchomienie zajmie trochę czasu.
Proszę odnieść się do następującego adresu URL, aby zrozumieć, jak używać LISTONOSZ jako narzędzie.
Wymagania wstępne: Aby uzyskać dostęp do usług wdrożonych za pośrednictwem sieci WWW, wymagane jest połączenie internetowe. W przypadku dostępu do usług wdrożonych lokalnie, upewnij się, że użytkownik, który wykonuje test przez POSTMAN, ma wystarczające prawa i przywileje.
Fikcyjny identyfikator URI zasobu: W tym samouczku zamiast prawdziwego identyfikatora URI będziemy używać fikcyjnego identyfikatora URI. Udzieli nam odpowiedzi zgodnie z życzeniem, ale nie można wprowadzić zmian na serwerze.
http://jsonplaceholder.typicode.com
jaki jest najlepszy adblock dla chrome
Kroki nawigacji :
# 1) Po uruchomieniu aplikacji POSTMAN domyślnie widzimy stronę Żądanie.
#dwa) Listę wywołań API możemy zobaczyć, klikając menu rozwijane. Wybierając dowolną opcję z rozwijanego menu, możemy zażądać wywołania API do serwera.
# 3) Kliknij przycisk Zmienna środowiskowa w prawym górnym rogu POSTMAN. Ustaw konkretne środowisko, w którym będziemy testować. Możemy go zachować do przyszłej realizacji.
# 4) Zapisane środowisko może być dostępne z listy rozwijanej Środowisko.
# 5) Następnie musimy ustawić identyfikator URI zasobu w podanym polu.
# 6) Kliknij przycisk Params obok pola Resource URI, aby określić parametry zapytania
# 7) Kliknij kartę Autoryzacja, wybierz typ autoryzacji z listy rozwijanej i ustaw dowolną autoryzację lub po prostu pozostaw ją jako Brak autoryzacji.
# 8) Kliknij kartę Nagłówki i ustaw wymagane nagłówki, takie jak typ zawartości
# 9) Kliknij kartę Treść, wybierz przycisk opcji danych formularza. Określ wymagane parametry treści, które należy przesłać wraz z adresem URL żądania
# 10) Kliknij kartę Body, wybierz opcję x-www-form-urlencoded. Określ wymagane parametry treści, które mają być przesłane w postaci zakodowanej, wraz z adresem URL żądania
#jedenaście) Kliknij kartę Body, wybierz opcję „raw”. Określ wymagane parametry treści, które należy przesłać wraz z adresem URL żądania. To jest w rzeczywistym formacie JSON
# 12) Kliknij kartę Treść, wybierz opcję „binarne”. Określ wymagane parametry treści (zwykle jako plik), które należy wysłać wraz z adresem URL żądania.
# 13) Po skonfigurowaniu wszystkich szczegółów, jak określono powyżej, możemy teraz „wysłać” żądanie. Możemy również zapisać żądanie wysłania jako request.json (możemy zmienić nazwę żądania).
# 14) Listę złożonych wniosków widzimy w panelu po lewej stronie pod zakładką Historia.
#piętnaście) Możemy również zapisać wszystkie szczegóły związane z żądaniem (URI, autoryzacja, parametry, treść itp.) W istniejącej lub nowej kolekcji. Po dodaniu żądania do kolekcji możemy je wyeksportować (udostępnić), a nawet zaimportować dowolną istniejącą kolekcję.
Możemy udostępnić kolekcję jako łącze lub jako bibliotekę zespołu za pomocą prostego wygenerowanego kodu. Zawsze możemy uruchomić cały pakiet Collection.
Nawet my możemy opublikować adres URL kolekcji w Internecie, aby każdy, kto uzyskuje dostęp do opublikowanego adresu URL, mógł uzyskać dostęp do kolekcji i korzystać z usług udostępnianych przez interfejs API sieci Web.
pytania do wywiadu oracle pl sql i odpowiedzi dla doświadczonych
Dostępna jest funkcja logowania do POSTMAN, która umożliwia nam przechowywanie historii, zbiorów, danych środowiskowych, lokalnej pamięci, abyśmy mogli je zapisać i mieć do nich dostęp w dowolnym miejscu i czasie po zalogowaniu się do POSTMAN.
Biegacz
Służy do uruchamiania zasobów znajdujących się w folderze Kolekcje.
Wniosek
Większość firm przyjmuje styl architektoniczny REST do tworzenia / wdrażania usług internetowych, ponieważ jest to prosty i przyjazny dla użytkownika interfejs, który wymaga mniej szkoleń dla obecnych / nowych członków projektu. Organizacje rozważają REST wraz z istniejącymi usługami internetowymi.
Przeczytaj także = >> Samouczek interfejsu Flask API
W następnym samouczku z tej serii REST API omówimy różne typy kodów odpowiedzi, typy żądań REST itp.
rekomendowane lektury
- Kody odpowiedzi Rest API i rodzaje żądań odpoczynku
- Samouczek POSTMAN: Testowanie API przy użyciu POSTMAN
- Testowanie REST API z ogórkiem przy użyciu metody BDD
- 10 najlepszych narzędzi do testowania API w 2021 r. (Narzędzia testowe SOAP i REST API)
- Testowanie REST API z Spring RestTemplate i TestNG
- Jak zautomatyzować żądania API za pomocą Rest Assured i Jenkins
- Jak stworzyć projekt REST w SoapUI Pro: samouczek nr 13
- Parasoft SOAtest Tutorial: Bezskryptowe narzędzie do testowania API