guzzle

2012-12-18 19 views
7

Guzzle istemci sorgu dizesi yoluyla diziyi gönderme Bu kodunguzzle

$client->get('https://example.com/{?a}', array('a' => array('c','d'))); 

bu url

https://example.com/?a=c,d 

RESTful uygulamada sorgu dizesinde dizi göndermek için en iyi yöntem nedir varsayılan olarak oluşturur? Soru şu ki, sunucu tarafında c,d bir dizi mi yoksa bir dizi mi olduğunu nasıl belirleyebilirim? Köşeli parantezleri kullanarak dizileri göndermek daha iyi değil, ör. a[]=c&a[]=d? Guzzle'u köşeli parantez kullanmak için nasıl ayarlayabilirim? Ya da JSON kodlanmış değişkenleri kullanmak daha iyidir? Sunucu tarafında Tonic kullanıyorum.

+0

Aynı konuyla ilgileniyorum – finishingmove

cevap

2

Yanıtın here olduğu görülüyor.

$client = new Client('http://test.com/api');  
$request = $client->get('/resource');  
$query = $request->getQuery();  
$query->set('status', array('first', 'second')); 
4

Çalışma Çözüm:

$vars = array('state[]' => array('Assigned','New'), 'per_page' => $perPage, 'page' => $pageNumber); 
$query = http_build_query($vars, null, '&'); 
$string = preg_replace('/%5B(?:[0-9]|[1-9][0-9]+)%5D=/', '=', $query); // state[]=Assigned&state[]=New 
$client = new Client([follow instruction to initialize your client ....]); 
$response = $client->request('GET', $uri, ['query' => $string]); 

Şimdi aynı ada sahip yukarıdaki bağlantıyı gösterildiği gibi

Ben Sen guzzle yapabilirsiniz ?status[]=first&status[]=second

gibi bir şey yapmak istedim isteğinizdeki parametreler.

Gübre.

Kaynak: http_build_query with same name parameters

İlgili konular