HTTP i integracja przez REST

Podstawy ruchu sieciowego 

HTTP URI

  • URI/URL/URN na przykładzie
    • URL to http://vraz.pl
    • URI to http://vraz.pl/login
    • URN to /login
  • Adres serwera z parametrami

W warstwie aplikacji, odbywa się komunikacja HTTP/HTTPS

Przykłady opisu co to jest protokół HTTP

Komunikacja Klient – Serwer, typu żądanie <-> odpowiedź.

Żądania(Request) METODY (GET, POST, PUT, DELETE) + URI

RequestHeader np. CONTENT TYPE (application/json, image/jpeg)

Odpowiedź(Response) kod jeden z poniższych.

  • 1xx – kody informacyjne
  • 2xx – kody powodzenia
  • 3xx – kody przekierowań
  • 4xx – kody błędu aplikacji klienckiej
  • 5xx – kody błędu serwera

Response Headers np. Set-Cookie: User=Andrzej

REST API sposób komunikacji oparty na protokole HTTP

REST – Representational State Transfer  styl architektury oprogramowania opierający się o zbiór wcześniej określonych reguł opisujących jak definiowane są zasoby, a także umożliwiających dostęp do nich
API – Application Programming Interface zestaw reguł definiujący komunikację pomiędzy programami komputerowymi.

HTTP – Hypertext Transfer Protocol – protokół, z którego korzystasz codziennie (lub też jego wersji szyfrowanej – HTTPS) podczas przeglądania stron w sieci. Podczas tworzenia REST API do komunikacji z API wykorzystuje się metody HTTP, których łącznie jest 9. Niemniej jednak do zbudowania podstawowego API pozwalającego na odczyt, zapis, aktualizację i usuwanie danych wystarczą tylko 4 metody – GETPOSTPUT i DELETE

 

HTTP method RFC Request has Body Response has Body Safe Idempotent Cacheable
GET RFC 7231 Optional Yes Yes Yes Yes
HEAD RFC 7231 Optional No Yes Yes Yes
POST RFC 7231 Yes Yes No No Yes
PUT RFC 7231 Yes Yes No Yes No
DELETE RFC 7231 Optional Yes No Yes No
CONNECT RFC 7231 Optional Yes No No No
OPTIONS RFC 7231 Optional Yes Yes Yes No
TRACE RFC 7231 No Yes Yes Yes No
PATCH RFC 5789 Yes Yes No No No

 

CURL narzędzie

Wykorzystujemy narzędzie Curl  do testowania REST API .  Curl na window do porabania 

Przykład testowana REST z curl
 https://the3dwebcoder.typepad.com/blog/2015/07/put-post-delete-and-curl-testing-the-firerating-rest-api.html

Przykłady kodu REST API 

Kod REST API https://www.rapidparser.com/doc/examples/rest

Publiczne API do testów https://github.com/toddmotto/public-apis

Przykłady pobrania danych z PrestaShop

  1. Możliwe dane do odczytania  dla zadanego klucza
  2. Odczytanie listy produktów 
  3. Oczytanie produktu o id 3 
    https://RJEEPD8NPUGNB23U1U1H25CUKXTZFVWV@sklep17.vraz.pl/api/products/33
  4. Odczytanie schematu produktu https://RJEEPD8NPUGNB23U1U1H25CUKXTZFVWV@sklep17.vraz.pl/api/products?schema=blank na podstawie tego schematu utworzenie pliku new_product17.xml
  5. W celu wykonania np. usunięcia lub dodania produktu trzeba skorzystać z CURL i wydołać z listy poleceń do: 
    • dodanie produktu zdefinowanego w pliku new_product.xml
      curl –insecure -i -X POST -d „@new_product17.xml
      https://RJEEPD8NPUGNB23U1U1H25CUKXTZFVWV@sklep17.vraz.pl/api/products
    • usunięcia  produktu o numerze 10
      curl –insecure -i -X DELETE https://RJEEPD8NPUGNB23U1U1H25CUKXTZFVWV@sklep17.vraz.pl/api/products/10