• 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

Object Storage Arubacloud
0 głosów
578 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,300 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,300 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,300 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 (212,670 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 666 wizyt
pytanie zadane 13 września 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
1 odpowiedź 190 wizyt
+1 głos
1 odpowiedź 1,035 wizyt
pytanie zadane 10 maja 2019 w PHP przez Hysek Obywatel (1,250 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...