【发布时间】:2021-09-05 22:04:21
【问题描述】:
我正在尝试通过向 ServiceDesk plus api 发送 http put 请求来更新数据。在使用系统自带的控制台时,它运行良好,但是当我尝试从 Laravel 向同一个 api 发送请求时,它就不起作用了。
来自下方控制台的请求
我正在尝试使用下面的代码向相同的 url 发送请求。
private function openTicket($notification)
{
$data = json_encode(['input_data' => ['request' => ['subject' => $notification->subject,
'description' => $notification->description,
'status' => ['name' => 'Open']]]]);
$request_id = $notification->request_id;
$response = Http::withHeaders([
'technician_key' => 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX',
'Accept' => 'application/json'
])->put('http://localhost:8082/api/v3/requests/' . $request_id, $data);
dd($response);
}
我收到一个错误400 bad request。
【问题讨论】:
-
dd($response->body());输出什么? -
也许您需要发送任何标题或类似内容
-
让我试试@shaedrich,等等
-
@shaedrich 这是输出
"{"response_status":{"status_code":4000,"messages":[{"status_code":4001,"field":"input_data","type":"failed","message":"Value not provided"}],"status":"failed"}}" -
好像您没有提供所需的值。你有什么想法吗?
标签: php json laravel guzzle put