我有一个发送数据到Lumen API的页面。我使用Laravel Http客户端发送数据,如下所示:
$url = env('API_ADDRESS');
$data= [
'p1' => $request->input('p1'),
'p2' => $request->input('p2')
];
$headers = [
'key' => env('API_KEY')
];
$req = Http::withHeaders($headers)->post($url, $data);
这个请求的状态码是200。
在我的API中,我有一个代码喜欢接收数据并保存它:
public function SaveReq(Request $request)
{
$data = [
'status'=> 'success',
'msg'=> ''
];
try {
$req = new Requisition();
$req->p1 = $request->input('p1');
$req->p2 = $request->input('p2');
$req->save();
} catch (ErrorException $e) {
$data['status'] = 'error';
$data['msg'] = $e->getMessage();
} finally {
return json_encode($data);
}
}
在我发送请求的应用程序中,我可以看到api返回的json,但是api不保存数据,但是如果我使用Postman发送带有相同数据的请求,我的api保存数据。
我在发送数据的应用程序中做错了什么?
- 检查应用程序中的http方法是否与邮差相同
- 保存数据前,使用
dd($request->all());
确认数据发送正确的