所以這是我在控制器上的代碼:
public function postAgenda(Request $request)
{
$response = Http::withToken('31|14gfAJHaXv6qU3x4WwxAwE8Txxxxxxxxxxxxxxxx')->post('https://myapi.tld/AgendaCrt', [
'Agenda' => [
'hari' => 'senin',
'tgl' => '2022-02-18',
'waktu' => '16:00:00',
'lokasi' => 'bogor',
'kegiatan' => 'Belajar HTTP Client',
'user_id' => '9'
]
]);
return response()->json([
'Success' => $response
], Response::HTTP_OK);
}
這是 web.php 路線上的路線:
Route::get('/post', [AgendaController::class, 'postAgenda']);
當我嘗試在瀏覽器上運行它時,回應是成功的,但它沒有發送任何資料,如下圖所示。

uj5u.com熱心網友回復:
將您的方法更改Route::get為Route::post
uj5u.com熱心網友回復:
Laravel 的 HTTP 客戶端包裝器不會在客戶端或服務器錯誤(400以及500來自服務器的級別回應)上拋出例外。successful您可以使用、clientError或serverError方法確定是否回傳了這些錯誤之一。
要么..
throw如果沒有發生錯誤,該方法回傳回應實體,允許您將其他操作鏈接到 throw 方法:
$response = Http::withToken('31|14gfAJHaXv6qU3x4WwxAwE8Txxxxxxxxxxxxxxxx')
->post('https://myapi.tld/AgendaCrt', [
'Agenda' => [
'hari' => 'senin',
'tgl' => '2022-02-18',
'waktu' => '16:00:00',
'lokasi' => 'bogor',
'kegiatan' => 'Belajar HTTP Client',
'user_id' => '9'
]
])
->throw()
->json();
return response()->json([
'Success' => $response
];
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428460.html
標籤:php 拉拉维尔 httpclient
