I’m having problems writing my request. I need to provide query string parameters to GET
method using request()
. Since I’m writing tests I can’t edit the method.
Right now I have it written like this:
$result = $client->request( 'GET', 'cart/current/get-items', [ 'headers' => [ 'X-AUTH-API-TOKEN' => 'Bearer ' . $tokens->token ], 'query'=>[ 'paginator_data'=>[ 'page'=>1, 'page_size' => 10 ] ] ]
Method that gets paginator_data
:
$paginatorData = json_decode($request->query->get('paginator_data'), true);
And thats how query
looks if I check the request
testing it from the front-end:
Source:
paginator_data=%7B%22page%22:1,%22page_size%22:10%7D
Parsed:
paginator_data: {"page":1,"page_size":10}
how do I format the query
to make it look like the Source
one? Because if I copy paste it inside my query it works.
Advertisement
Answer
I think you maybe need to json_encode
your data:
$result = $client->request( 'GET', 'cart/current/get-items', [ 'headers' => [ 'X-AUTH-API-TOKEN' => 'Bearer ' . $tokens->token ], 'query'=>[ 'paginator_data'=> json_encode([ 'page'=>1, 'page_size' => 10 ]) ] ] );