R reprezentacyjny S tat T ransfer (REST) to styl architektoniczny definiujący zestaw ograniczeń, które należy stosować przy tworzeniu usług internetowych. API RESTOWE to sposób dostępu do usług internetowych w prosty i elastyczny sposób, bez konieczności przetwarzania.
Technologia REST jest ogólnie preferowana w stosunku do bardziej niezawodnej technologii Simple Object Access Protocol (SOAP), ponieważ REST wykorzystuje mniejszą przepustowość, jest prosty i elastyczny, co czyni ją bardziej odpowiednią do korzystania z Internetu. Służy do pobierania lub przekazywania informacji z usługi internetowej. Cała komunikacja realizowana poprzez REST API wykorzystuje wyłącznie żądanie HTTP.
Pracujący: Żądanie jest wysyłane od klienta do serwera w postaci internetowego adresu URL jako żądanie HTTP GET, POST, PUT lub DELETE. Następnie odpowiedź pochodzi z serwera w postaci zasobu, który może mieć dowolną postać HTML, XML, Image lub JSON. Ale teraz JSON jest najpopularniejszym formatem używanym w usługach sieciowych.
Zbuduj biegłość w API REST Naucz się integrować popularne i praktyczne interfejsy API REST języka Python w aplikacjach internetowych Django dzięki interaktywnej ścieżce umiejętności Educative Zostań Integratorem API opartym na Pythonie. Zarejestruj się na Educative.io za pomocą kodu GEEKS10 aby zaoszczędzić 10% na subskrypcji.
W HTTP istnieje pięć metod powszechnie używanych w architekturze opartej na REST, tj. POST, GET, PUT, PATCH i DELETE. Odpowiadają one odpowiednio operacjom tworzenia, odczytu, aktualizacji i usuwania (lub CRUD). Istnieją inne metody, które są rzadziej używane, takie jak OPCJE i HEAD.
- DOSTAWAĆ: Do tego służy metoda HTTP GET Czytać (lub pobrać) reprezentację zasobu. W bezpiecznej ścieżce funkcja GET zwraca reprezentację w formacie XML lub JSON i kod odpowiedzi HTTP 200 (OK). W przypadku błędu najczęściej zwraca 404 (NIE ZNALEZIONO) lub 400 (ZŁE ŻĄDANIE).
- POST: Najczęściej używany jest czasownik POST tworzyć nowe zasoby. W szczególności służy do tworzenia zasobów podrzędnych. Oznacza to, że jest podporządkowany jakiemuś innemu (np. nadrzędnemu) zasobowi. Po pomyślnym utworzeniu zwróć status HTTP 201, zwracając nagłówek Location z łączem do nowo utworzonego zasobu ze statusem HTTP 201.
NOTATKA: POST nie jest ani bezpieczny, ani idempotentny.
- UMIEŚCIĆ: To jest używane do aktualizacja możliwości. Można jednak również zastosować PUT tworzyć zasób w przypadku, gdy identyfikator zasobu jest wybierany przez klienta, a nie przez serwer. Innymi słowy, jeśli PUT dotyczy identyfikatora URI zawierającego wartość nieistniejącego identyfikatora zasobu. Po pomyślnej aktualizacji zwróć 200 (lub 204, jeśli nie zwracasz żadnej treści w treści) z PUT. Jeśli używasz PUT do tworzenia, zwróć status HTTP 201 po pomyślnym utworzeniu. PUT nie jest operacją bezpieczną, ale jest idempotentna.
- SKRAWEK: Jest to przyzwyczajone modyfikować możliwości. Żądanie PATCH musi zawierać jedynie zmiany w zasobie, a nie cały zasób. Przypomina to PUT, ale treść zawiera zestaw instrukcji opisujących, w jaki sposób należy zmodyfikować zasób aktualnie znajdujący się na serwerze, aby utworzyć nową wersję. Oznacza to, że treść PATCH nie powinna być po prostu zmodyfikowaną częścią zasobu, ale powinna być w jakimś języku poprawki, takim jak JSON Patch lub XML Patch. PATCH nie jest ani bezpieczny, ani idempotentny.
- USUWAĆ: Jest to przyzwyczajone usuwać zasób identyfikowany przez URI. Po pomyślnym usunięciu zwróć stan HTTP 200 (OK) wraz z treścią odpowiedzi.
Idempotencja: Idempotentna metoda HTTP to metoda HTTP, którą można wywoływać wiele razy bez różnych wyników. Nie ma znaczenia, czy metoda zostanie wywołana tylko raz, czy dziesięć razy. Wynik powinien być taki sam. Ponownie dotyczy to tylko wyniku, a nie samego zasobu.
Przykład:
C
wyszukiwanie liniowe w Javie
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
Prośba i odpowiedź
Teraz zobaczymy, jak żądanie i odpowiedź działają w różnych sytuacjach HTTP metody. Załóżmy, że mamy API( https://www.techcodeview.com ) dla wszystkich uczniów dane GFG.
- DOSTAWAĆ: Prośba do wszystkich Studentów.
Wniosek |
POBIERZ:/api/studenci |
- POST: Prośba o opublikowanie/utworzenie/wstawienie danych
Wniosek |
POST:/api/studenci {imię:Raj} |
- PUT lub PATCH: Żądanie aktualizacji danych o id=1
Wniosek |
PUT lub PATCH:/api/students/1 {imię:Raj} |
- USUWAĆ: Żądanie usunięcia danych o id=1
Wniosek |
USUŃ:/api/students/1 |
Usługi internetowe RESTful są bardzo popularne, ponieważ są lekkie, wysoce skalowalne i łatwe w utrzymaniu oraz są bardzo powszechnie używane do tworzenia interfejsów API dla aplikacji internetowych.