2015-06-14 15 views
8

Basit bir api isteği oluşturmaya çalışırken lümeni kullanıyorum.base_uri, guzzle istemcisi örneğine dayanmıyor

Sorun, base_uri parametresinin, ilk new Client() numaralı belgede doğru şekilde iletilmiş görünmemesidir.

Basitleştirilmiş örnek:

use GuzzleHttp\Client; 

$client = new Client([ 
    'base_uri' => 'https://siteurl.com/api/v2' 
]); 

Sonra
$res = $client->get('orders', [ 
    'query' => [ 
     'status' => 'completed' 
    ] 
]); 

çalışmıyor almak yoluyla api çağıran. /orders gibi mutlak URL'leri kullanmamaya dikkat ettim. Base_uri'yi tamamen bypass edip sadece get yöntemi $client->get('https://siteurl.com/api/v2/orders')'a eklerseniz çalışır. Ben kullanıyorum

: "laravel/lümen-çerçeve": "5.0 *.", "guzzlehttp/guzzle": "^ 6.0"

* Takip:

Hata ayıklama bayrağını ekledim, böylece üstbilgileri karşılaştırabilirdim ve fark edilebilir fark alma isteği satırında.

olsun yöntemi (atlayarak base_uri) içinde

Mutlak url:?

GET/API/v2/siparişler status = tamamlandı HTTP/(sürüm elimden ediliyor) base_uri kullanma 1,1

: tamamlanan

GET/aPI/siparişler? status = HTTP/1,1

+0

Bunu anladınız mı? Aynı sorunu yaşıyorum ve base_uri'm cevapta önerildiği gibi/ile sonlandırdım. –

+0

Yorumumu dikkate almayın. Guzzle versiyonumun yanlış belgelerine bakıyordum. En yeni sürüm, base_uri kullanıyor ve bunun yerine base_url kullanılan bir önceki sürüme geri döndüm. –

+0

@PaulZepernick Önerim sizin için çalışmayı önerdi mi? –

cevap

18

Sen,

Ör/eğik çizgi ile base_uri sonlandırmak için gereken

use GuzzleHttp\Client; 

$client = new Client([ 
    'base_uri' => 'https://siteurl.com/api/v2/' 
]); 

Düzenleme: önceki sürümleri base_url kullanılan oysa base_uri, guzzle 6+ içindir Not.

+4

Son yorumunuz beni kurtardı. 'Base_url' ifadesini kullanarak, url biten bir eğik çizgi ile Guzzle 5'in çalıştığını doğruladı. –