Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Integracja z zewnętrznym serwisem
pieknymacius
post 24.04.2018, 09:51:31
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.03.2018

Ostrzeżenie: (0%)
-----


Cześć! Pracuję właśnie nad integracją mojej aplikacji z zewnętrznym serwisem (REST API). Serwis udostępnia szereg endpointów, część z nich przyjmuje duże struktury danych. Chciałem zapytać bardziej doświadczonych kolegów, jak dobrze zaprojektować takie połączenie. Chciałbym uniknąć sytuacji, gdzie za każdym razem robię coś takiego:

  1. $client = new GuzzleHttp\Client();
  2.  
  3. // pobranie danych z bazy
  4.  
  5. $data = [
  6. // tutaj tworzenie struktury z pobranych danych
  7. ]
  8.  
  9. $res = $client->request('POST', 'https://api.foo/bar', [
  10. 'json' => $request
  11. ]);
  12.  
  13. // wyciągnięcie danych z odpowiedzi


Zdaję sobie sprawę, że trzeba rozbić to na klasy. Niestety nie wiem, jak zrobić to dobrze. Myślałem, żeby utworzyć klasy dla każdego typu requesta i responsa oraz klasę klienta, która by je wykorzystywała. Jak Wy to zazwyczaj robicie? Czy macie jakieś dobre przykłady podobnych implementacji?
Go to the top of the page
+Quote Post
LowiczakPL
post 24.04.2018, 22:02:38
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Cytat
Zdaję sobie sprawę, że trzeba rozbić to na klasy. Niestety nie wiem, jak zrobić to dobrze. Myślałem, żeby utworzyć klasy dla każdego typu requesta i responsa oraz klasę klienta, która by je wykorzystywała. Jak Wy to zazwyczaj robicie? Czy macie jakieś dobre przykłady podobnych implementacji?


Raczej jedna klasa kontrolera zawierająca wiele metod korzystających z managera zajmującego się obsługą danych.

W sumie zależy też jak bardzo rozbudowane jest to API ile udostępnia połączeń, to wtedy można podzielić to na kilka klas pogrupowanych tak jak API, najlepiej 1:1

Ten post edytował LowiczakPL 24.04.2018, 22:03:54


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
pieknymacius
post 25.04.2018, 08:42:25
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.03.2018

Ostrzeżenie: (0%)
-----


Cytat(LowiczakPL @ 24.04.2018, 23:02:38 ) *
Raczej jedna klasa kontrolera zawierająca wiele metod korzystających z managera zajmującego się obsługą danych.

W sumie zależy też jak bardzo rozbudowane jest to API ile udostępnia połączeń, to wtedy można podzielić to na kilka klas pogrupowanych tak jak API, najlepiej 1:1


Czy mógłbyś rozwinąć? Manager miałbym wyciągać dane z bazy i przygotowywać odpowiednie struktury w zależności od rodzaju requesta? Myślę, że API jest całkiem rozbudowane - stąd moje pytanie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 08:19