• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Połączenie się z zewnętrznym api za pomocą symfony

VPS Starter Arubacloud
0 głosów
773 wizyt
pytanie zadane 24 lipca 2018 w PHP przez Pytajnikowiec Początkujący (290 p.)

Cześć, witam wszystkich. Za pomocą programu postman połączyłem się z api zewnętrznego serwisu.
Program pokazuje jak mogę to napisać w php na 3 sposoby ale mnie interesują 1.
Nie potrafię przenieść tego do Symfony 4. Pomoże ktoś?

 

Ja mam tyle...

<?php

namespace App\Controller;

use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class PlayersController extends Controller
{
  /**
   * @Route("/players/{id}") name="app_players_show"
   */
  public function show(Request $request, string $id)
  {
    // nie mam pojęcia jak to zrobić
  }
}

 

komentarz 24 lipca 2018 przez Mariusz08 Maniak (62,280 p.)
A o co dokładnie chodzi? Możesz dać linka do tego api?
komentarz 25 lipca 2018 przez Pytajnikowiec Początkujący (290 p.)
Link jest na zdjęciach. Chodzi o to że jak skopiuje kod wygenerowany przez Postman do swojej metody w symfony to wali błędami, że nie wie co to jest HttpRequest a za tym idą też problemy zapewnie z inną konfiguracją Symfonowej klasy Request której nie wiem jak użyć żeby osiągnąć to co zrobił Postman. Zakomentuję linię z "new HttpRequet()" i symfony nie rozpoznaje metod wywoływanych na "Request $request". Kombinuję już drugi dzień.
komentarz 25 lipca 2018 przez Mariusz08 Maniak (62,280 p.)

Ej no nie będę URLa ze zdjęć przepisywał cheeky Poza tym Sf z tego co wiem nie ma klasy HttpRequest tylko ma klasę Request. Aby połączyć się z API nie możesz używać zmiennych z Request $request ponieważ są to twoje dane do requesta (to co wysłał użytkownik na twoją stronę). Musisz więc stworzyć nowego requesta, albo jakiegoś klienta.

komentarz 25 lipca 2018 przez Pytajnikowiec Początkujący (290 p.)
Dlatego moje brzmi jak się za to zabrać. Co powinienem wykorzystać?
komentarz 25 lipca 2018 przez Mariusz08 Maniak (62,280 p.)

Tak jak powiedział Ehlert wykorzystaj guzzla. Przykład:

// Create a client with a base URI
$client = new GuzzleHttp\Client(['base_uri' => 'http://my.api.url/']);
// Send a request to http://my.api.url/site/67/module/1449/item
$response = $client->request('GET', 'site/67/module/1449/item');
dump($response);
// https://stackoverflow.com/questions/41817525/use-guzzle-to-http-get-to-external-api-with-symfony

 

1 odpowiedź

0 głosów
odpowiedź 24 lipca 2018 przez Ehlert Ekspert (213,900 p.)

Nie wiem za często w czym leży Twój problem. Użyj Guzzlea i tyle. 

komentarz 25 lipca 2018 przez Pytajnikowiec Początkujący (290 p.)
Chodzi o to że jak skopiuje kod wygenerowany przez Postman do swojej metody w symfony to wali błędami, że nie wie co to jest HttpRequest a za tym idą też problemy zapewnie z inną konfiguracją Symfonowej klasy Request której nie wiem jak użyć żeby osiągnąć to co zrobił Postman. Zakomentuję linię z "new HttpRequet()" i symfony nie rozpoznaje metod wywoływanych na "Request $request". Nie rozpoznaje setUrl(), setMethod(), setHeader(), send(). Zaglądam do tej klasy a tam magiczny konstruktor, metoda create() z 1000 parametrami, normanize(), mnóstwo getów... nie wiem za co się zabrać.

Podobne pytania

0 głosów
2 odpowiedzi 823 wizyt
pytanie zadane 13 września 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
1 odpowiedź 202 wizyt
+1 głos
1 odpowiedź 1,092 wizyt
pytanie zadane 10 maja 2019 w PHP przez Hysek Obywatel (1,250 p.)

92,977 zapytań

141,940 odpowiedzi

321,182 komentarzy

62,303 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...