REST-owe żądania w Java Spring z wykorzystaniem RestTemplate

Wraz z wielkim wzrostem dwóch podejść RESTful Web Services oraz mikroserwisów warto jest mieć łatwy sposób na stworzenie odpowiedniej klasy wspomagającej komunikacje miedzy serwisami. W tym wpisie pokażę, jak zrobić to w javowym Springu z wykorzystaniem klasy RestTemplate.

Na początek

  • bardzo podstawowa wiedza o Javie
  • 5 minut

RestTemplate

RestTemplate (implementujace interface RestOperations) to wedlug dokumentacji Springa centralna klasa dla synchronicznego dostępu HTTP. Trochę bardziej ludzkim językiem – w oparciu o tę klasę można łatwo z poziomu kodu Javy wykonywać żądania HTTP. Stwórzmy więc zręby pod własny klient Rest HTTP 🙂
Czytaj dalej REST-owe żądania w Java Spring z wykorzystaniem RestTemplate

REST – ciekawszy sposób na komunikację client-server

REST (ang. Representational State Transfer) jest wzorcem narzucającym dobre praktyki tworzenia architektury aplikacji rozproszonych. RESTful Webservices (inaczej RESTful web API) jest usługą sieciową zaimplementowaną na bazie protokołu HTTP i głównych zasad wzorca REST. W tym wpisie postaram się pokazać (bardzo) podstawowe założenia.

Ważnym założeniem REST jest istnienie zasobów (ang. resources) jako źródeł danych a także żądana akcja. Ale może po kolei…

Zapomniane metody HTTP w Ajaksie

Komunikując się z serwerem najczęściej korzysta się z dwóch metod:

  • GET
  • POST

Co więcej, często wykorzystuje się je nieprzemyślany sposób (aby nie powiedzieć losowy). Nigdy nie wiadomo, czy żądanie doda, usunie, nadpisze czy tylko pobierze dane z serwera. A szkoda, bo przecież o ile ładniej jest patrzeć w konsole Firebuga i po samym rodzaju metody odczytywać jakiego rodzaju operacja została wywołana.

Tytułowe „zapomniane” metody to (jest ich więcej, ale nie są potrzebne dla tego wpisu):

Dijit.Tree i lazy loading

Lazy loading (z ang. późne ładowanie danych – w wolnym tłumaczeniu) pozwala na pobranie do aplikacji z serwera tylko tych danych, które są nam aktualnie niezbędne. Takie podejście oszczędza pamięć i łącze (rzadko kiedy potrzebujemy wczytać cały zbiór danych). Niestety jednocześnie sprawia, że mamy więcej połączeń do serwera – każde zwraca kolejną małą porcję danych.

Chciałbym zaprezentować możliwości lazy loadingu w Dojo Toolkit.

Na początek

Czytaj dalej Dijit.Tree i lazy loading