[英]Guzzle Request : Post body data
我想POST
數據到遠程AWS API。
數據應該是body
部分的JSON
。
使用 Postman,我可以發送數據並且一切正常:
現在,嘗試使用GuzzleHttp\\Psr7\\Request
這樣做,我正在做:
$request = new \GuzzleHttp\Psr7\Request(
'POST',
'AWS API URL',
['Host' => 'AWS HOST', 'body' => '{"json": "my JSON"}']
);
$request = $signer->signRequest($request, $credentials);
$response = $client->send($request);
請求成功,但沒有數據更新! 好像沒有收到'body'
。
我無權訪問遠程 API 日志文件。
所以我的問題是,這是在 Guzzle 請求的正文部分發布數據的正確方法嗎?
謝謝。
根據鏈接的答案,您需要將以下選項與您的請求一起傳遞:
[GuzzleHttp\RequestOptions::JSON => ['key1' => 'value1', 'key2' => 'val2']]
或者:
['json' => ['key1' => 'value1', 'key2' => 'val2']]
但是由於您需要先構建 Request 對象,您應該能夠將此選項作為Client::send
的第二個參數Client::send
:
$response = $client->send($request, [
GuzzleHttp\RequestOptions::JSON => ['key1' => 'value1', 'key2' => 'val2']
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.