Używam lumenów próbujących ustawić proste żądania api za pomocą żarcia.base_uri nie jest oparty na instancji klienta programu buzz
Problem polega na tym, że parametr base_uri nie wydaje się poprawnie przekazany na początku new Client()
.
uproszczony przykład:
use GuzzleHttp\Client;
$client = new Client([
'base_uri' => 'https://siteurl.com/api/v2'
]);
Następnie poprzez wywołanie API dostać
$res = $client->get('orders', [
'query' => [
'status' => 'completed'
]
]);
nie działa. Starałem się nie używać bezwzględnych adresów URL, takich jak /orders
. Jeśli całkowicie ominę bazę base_uri i po prostu dodaję ją do metody get $client->get('https://siteurl.com/api/v2/orders')
, to działa.
Używam: "laravel/lumen-framework": "5.0. *", "guzzlehttp/chlać": "^ 6.0"
* Kontynuacja:
Dodałem flagę debugowania, aby móc porównać nagłówki, a zauważalna różnica znajduje się w wierszu żądania pobierania.
bezwzględny adres URL w (base_uri pominięciem) Metoda get:
/api/v2/status
GET zamówienia = zakończone HTTP/1,1
Korzystanie base_uri (wersja jest pozbawiony):
statusu GET/api/rozkazy? = zakończone HTTP/1,1
Czy zdałeś sobie z tego sprawę? Mam dokładnie ten sam problem i mam moje base_uri zakończone z/jak zasugerowano w odpowiedzi. –
Zignoruj mój komentarz. Szukałem niewłaściwej dokumentacji do mojej wersji na żłopie. Najnowsza wersja używa base_uri i wracam do poprzedniej wersji, która używała base_url zamiast. –
@PaulZepernick Czy poprawka, którą zasugerowałem, działa dla Ciebie? –