base_uri basiert nicht auf der Client-Instanziierung

8

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

    
drrobotnik 14.06.2015, 20:24
quelle

1 Antwort

18

Sie müssen Ihr base_uri mit einem Schrägstrich /

beenden

z. B.

%Vor%

Bearbeiten: Beachten Sie, dass base_uri für Guzzle 6+ ist, während frühere Versionen base_url verwendet haben.

    
Avindra Goolcharan 16.06.2015, 17:47
quelle

Tags und Links