簡體   English   中英

Guzzle 請求:發布身體數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM