как отправить переменную методом жадности в laravel - PullRequest
2 голосов
/ 27 мая 2019

У меня есть API, и мне нужно отправить некоторые данные на него, и я использую жадность для обработки этого, вот мой код:

$amount = $request->get('amount');
    $client = new \GuzzleHttp\Client();
    $requestapi = $client->post('http://192.168.150.16:7585/api/v1/Transaction/GetTransactionNumber', [
        'headers' => ['Content-Type' => 'application/json'],
        'body' => '{
        "Amount":"i want to send $amount here",
        "something":"1",
        "Description":"desc",
        }'
    ]);

так что все в порядке, и статические данные отправляютсяно я хочу знать, как я могу отправить переменную.

Ответы [ 4 ]

5 голосов
/ 27 мая 2019

Вы можете связать данные в параметре form_params как

$client = new \GuzzleHttp\Client();
$amount = $request->get('amount');
$requestapi = $client->post('http://192.168.150.16:7585/api/v1/Transaction/GetTransactionNumber', [
                   'form_params' => [
                        "Amount" => "i want to send $amount here",
                        "something" => "1",
                        "Description" => "desc",
                   ]
             ]);

Надеюсь, это работает для вас.

1 голос
/ 27 мая 2019

Сумма может передаваться в массиве и после того, как вы можете кодировать с помощью json, используя `` `json_encode``

Надеюсь, это работает для вас.

$amount = $request->get('amount');
$client = new \GuzzleHttp\Client();
$url   = "http://192.168.150.16:7585/api/v1/Transaction/GetTransactionNumber";
$data   = [
            "amount"      => $amount,
            "something"   => "1",
            "description" => "desc",
          ];

$requestAPI = $client->post( $url, [
        'headers' => ['Content-Type' => 'application/json'],
        'body' => json_encode($data);
    ]);
1 голос
/ 27 мая 2019

Переменная сумма прохода, как показано ниже:

$amount = $request->get('amount');
    $client = new \GuzzleHttp\Client();
    $requestapi = $client->post('http://url/api/v1/Transaction/GetTransactionNumber', [
        'headers' => ['Content-Type' => 'application/json'],
        'form_params' => '{
        "Amount": '. $amount .'
        "something":"1",
        "Description":"desc",
        }'
    ]);
0 голосов
/ 01 июня 2019

Вы можете попробовать использовать опцию Guzzle json :

$amount = $request->get('amount');

$client = new \GuzzleHttp\Client();

$response = $client->post(
    'http://192.168.150.16:7585/api/v1/Transaction/GetTransactionNumber', 
    [
        GuzzleHttp\RequestOptions::JSON => [
            'Amount' => $amount,
            'something' => '1',
            'Description' => 'desc',
        ]
    ]
);

Проверьте руководство по жадности - http://docs.guzzlephp.org/en/stable/request-options.html#json

...