Ich benutze Lumen, um einfache API-Anfragen per Frust zu erstellen.
Das Problem ist, dass der base_uri-Parameter nicht korrekt am initialen new Client()
übergeben wird.
Vereinfachtes Beispiel:
%Vor%Dann rufen Sie die API über get
%Vor% funktioniert nicht. Ich war vorsichtig, keine absoluten URLs wie /orders
zu verwenden. Wenn ich base_uri komplett umgehe und es einfach in der get-Methode $client->get('https://siteurl.com/api/v2/orders')
hinzufüge, funktioniert es.
Ich benutze: "Laravel / Lumen-Framework": "5.0. *", "guzzehlhttp / guzzle": "^ 6.0"
* Follow-up:
Ich habe das Debug-Flag hinzugefügt, so dass ich die Header vergleichen konnte, und der erkennbare Unterschied liegt in der Get-Request-Zeile.
Absolute URL in der get-Methode (base_uri umgehen):
GET / api / v2 / Aufträge? Status = abgeschlossen HTTP / 1.1
Verwenden von base_uri (Version wird entfernt):
GET / api / orders? status = abgeschlossen HTTP / 1.1
Sie müssen Ihr base_uri mit einem Schrägstrich /
beendenz. B.
%Vor%Bearbeiten: Beachten Sie, dass base_uri für Guzzle 6+ ist, während frühere Versionen base_url verwendet haben.