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

Odpowiedz Nowy wątek
2017-01-15 17:57
Uczynny Mleczarz
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-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!

Pozostało 580 znaków

2017-01-15 22:20
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ę.


"Gdy się nie wie, co się robi, to się dzieją takie rzeczy, że się nie wie, co się dzieje"


edytowany 2x, ostatnio: nie100sowny, 2017-01-15 22:21
Masz jakiś fajny przykład jak działa taki RestTemplate? - margor90 2017-01-19 15:31

Pozostało 580 znaków

2017-01-19 14:06
Uczynny Mleczarz
0

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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