Cześć,
napotkałem kilka problemów w zadaniu które mam do zrobienia, a wygląda to tak:
Mają być 3 aplikacje springbootowe w oddzielnych kontenerach: Orders, Clients, Products
Orders ma wystawiać restową usługę getOrders (tu domyślam się, że chodzi po prostu o endpoint orders) i createOrders (tak samo endpoint orders tylko obsługa zapytania POST)
Chcę wysyłać POST z jsonem zawierającym dane klienta, produktu i zamówienia.
No i teraz Orders ma się skomunikować z Clients i Products, przekazać im dane które wyciągnie z jsona oraz kod zamówienia które będzie stworzone i z którym mają być powiązani klienci i produkty, a każda z aplikacji ma zapisać dane do swojej bazy.
Głównie męczą mnie dwa problemy.
Po wywołaniu getOrders mam dostać wszystkie zamówienia ze szczegółami. No i tu już mam zagwozdkę, bo sięgam sobie do bazy po id wszystkich zamówień i muszę zapytać pozostałe aplikacje o klientów i produkty które dotyczą tych zamówień. Jakby to było jedno zamówienie do wykorzystałbym GET i przekazał id jako parametr, ale skoro mają to być id wszystkich zamówień to pomyślałem, żeby wysłać jsona. W GET ponoć nie powinno się dodawać body, natomiast POST ponoć powinno służyć do dodawania a nie pobierania elementów, więc trochę się skołowałem co tu zrobić.
Drugą sprawą są modele obiektów. W aplikacjach Client i Product zrobię sobie klasę Client i Product i zmapuję otrzymanego jsona na obiekty i wyślę do bazy.
Natomiast w aplikacji Orders, kiedy otrzymam jsony od pozostałych aplikacji to co powinienem zrobić? Tutaj też stworzyć klasy Client i Product?(coś mi tu śmierdzi) Czy może olać mapowanie na obiekty(bo w sumie chyba mi to niepotrzebne), zagregować to jakoś w jednego jsona i odesłać jako odpowiedź? A jeśli zagregować to co się stosuje do takiej agregacji?