2
在我的Laravel應用程序中,我定期需要使用Guzzle將數據發佈到API。POST請求適用於Postman,但不適用於Guzzle
這個API用戶是一個承載令牌來驗證,並請求和接受原始的json。爲了測試,我使用Postman訪問了API,並且一切都很好。
郵差接頭:
Accept:application/json
Authorization:Bearer [token]
Content-Type:application/json
而且郵差身體:
{
"request1" : "123456789",
"request2" : "2468",
"request3" : "987654321",
"name" : "John Doe"
}
郵差返回200,和JSON對象作爲響應。
現在,當我嘗試與Guzzle相同時,我得到一個200狀態碼,但沒有返回JSON對象。這是我的Guzzle實現:
public function getClient($token)
{
return new Client([
'base_uri' => env('API_HOST'),
'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json'
]);
}
$post = $client->request('POST', '/path/to/api', [
'json' => [
'request1' => 123456789,
'request2' => 2468,
'request3' => 987654321,
'name' => 'John Doe',
]
]);
是否有一些技巧可以使用Guzzle發佈JSON?如果沒有,有沒有辦法在引擎蓋下進行調試?
對於我的生活,我無法理解郵差POST和Guzzle POST之間的區別。
Gu 6 6? ...您正在使用json_decode($ response-> getBody())將json從您的響應中取出? – Serge