Spring Boot + integracja z zewnętrznym API - przykłady, dobre praktyki?

0

Czołem.
Potrafię sklepać jakieś proste aplikacje typu CRUD w Boocie albo stworzyć samo RESTowe API, z którego potem korzystam na froncie, ale powiedzcie mi jaki jest najlepszy sposób na integrację z zewnętrznymi API?
Przerabiałem już trochę rzeczy i idzie się w tym pogubić: GSON, SimpleJSON itd. nie wiadomo jak obrabiać te dane, z czego skorzystać i jak to robić we właściwy sposób.
Przeważnie kończyło się na tym, że pisałem odrębne programy (gdzieś na boku w Javie SE z niezbędnymi libkami, poza Springową apką), które zajmowały się wpychaniem obiektów do bazy danych, ale wiem że nie jest to droga, którą należy iść, w szczególności, gdy zależy nam na częstym pobieraniu danych z zewnątrz.

W związku z tym mam pytanie, czy znacie jakieś dobre przykłady prostych aplikacji na Spring Boot (jakieś CRUDy, kursy walut etc.), które są zintegrowane z zewnętrznymi API?
Interesują mnie proste przykłady bez autentykacji, najbardziej samo zasysanie danych. W taki sposób, w jaki to powinno być robione - na Spring Bootową modłę (wiem, że RestTemplate to tutaj słowo klucz).

Szukałem już informacji i próbowałem już różnych podejść. Wiem też, że na oficjalnych stronach czy w dokumentacji są ładne przykłady np.: https://spring.io/guides/gs/consuming-rest/
Tak samo tutaj, nawiazywanie połączenia: http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-restclient.html
Ale te przykłady nie wchodzą zbytnio w temat obróbki otrzymanego JSONa.
Takie coś jak w tych przykładach już potrafię, chodzi mi bardziej o to jakich bibliotek użyć potem, aby obrobić kobyłę JSONową, zmapować na obiekt i wepchnąć do bazy.

Jakbyście mogli coś podpowiedzieć, dać jakieś wskazówki i słowa klucze to będzie mi łatwiej się w tym wszystkim odnaleźć.

Dzięki za poświęcony czas!

0
  1. Konfigurujesz bean RestTemplate jako singleton
  2. Wstrzykujesz sobie go jako RestOperations
  3. Podajesz mu metodę HTTP, url i klasę do której JSON ma być zmapowany.
  4. Dostajesz obiekt do dalszego przetwarzania.
    TA DAM

Dobre praktyki:

  1. API powinno być samo-opisowe, tzn. powinieneś mieś możliwość pobrania informacji np. w formie JSON z listą wszystkich usług i ich adresów. Poczytaj sobie o HATOES i 3 poziomie dojrzałości Richardsona. Tutaj masz przykład takiego API: https://api.github.com

  2. Zastanów się czy twoja metoda nie powinna być asynchroniczna, tj. gdy np. pobieranie będzie trwało 2 min to twoja aplikacja w tym czasie ma być zmrożona czy nie. RestTemplate obsługuje oba tryby.

  3. Jest jeszcze popularna szczególnie na Androidzie biblioteka OkHttp, ale ja osobiście mniej ją lubię.

0

Dzięki za odpowiedź, muszę sobie to wszystko przepracować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1