web-dev-qa-db-fra.com

Ajout de paramètres de chaîne de requête à une demande GET Gzzle?

J'ai lu cette réponse mais je crois qu'il existe une meilleure façon de créer une requête URL http dans Guzzle, je cherche quelque chose comme ça, mais je ne peux pas le faire fonctionner correctement, je ne sais pas non plus s'il y a est un moyen de vider la chaîne d'URL pour voir si elle fonctionne correctement. Quelqu'un pourrait-il me montrer la bonne façon de procéder?

// works correctly
$client = New GuzzleHttp\Client();
$request = $client->get('http://192.168.50.8/foo?-db=database&-lay=layout&-find');
print_r($request->getBody());

Ne marche pas

$request = $client->get($config->Layout['server'], [], [
        'query' => [
            $config->Layout['switches'], // ([ '-db' => 'database', '-lay' => 'layout', '-find' => true)
            $config->Layout['options'], // other params
        ]
]);
19
ehime

J'ai le même problème. J'ai trouvé la solution

public static function getGroupList($current=false) {
$response = self::getRestClient()->get(
    [
        'domains/{domainId}/pricelists',
        ['domainId' => self::getDomainId()]
    ],
    [
        'query' => [
        current => $current
        ]
    ]
);

return new RestResponse($response);

Essayer

$response = $client->get(
        [
            $config->Layout['server'],
            []
        ],
        [
            'query' => [
                $config->Layout['switches'], // ([ '-db' => 'database', '-lay' => 'layout', '-find' => true)
                $config->Layout['options'], // other params
            ]
        ]
);
24
user4550315

Une autre variante de la bonne réponse:

$params = [
   'query' => [
      'option_1' => string,
      'option_2' => string
   ]
];

Et puis appelez votre demande:

$response = $guzzle_client->request('GET','/api.com',$params);
9
kaleazy