我试图用Laravel 5.4实现基本CRUD操作的REST API我有下面的帖子方法。
public function storeReport(StoreReportRequest $request){
$inputs = $request->only('company_name',
'company_experience',
'service_start_time',
'service_end_time',
'latitude',
'longitude',
'additional_info',
'user_id'
);
//save image content to folder and image name to database
$image = $request->file('picture');
$fileName = $image->getClientOriginalName();
$image->storeAs('images', $fileName);
$inputs['picture_url'] = $fileName;
$report = Report::create($inputs);
return 'success';
}
我在存储数据时没有任何问题。我有一些验证规则,并且通过StoreReportRequest
类进行验证。我想学习的是如何在POST请求后处理响应。例如,如果验证失败或发生任何异常,我应该返回什么以及应该如何返回。我做了一些研究,但找不到任何适当的答案。任何帮助,将不胜感激。
好吧,我通常会在json Wich中做出响应,总是很容易解析,如果一切都正确完成,则可以在功能结束时进行解析:
return response()->json(["response" => true]);
,如果由于某种原因失败
return response()->json(["response" => false, errors => ["This can be an array or whatever"] ]);
验证将以422的状态代码返回JSON响应。因此,您不必担心验证失败异常。
关于创建报告后要做的事情取决于您。您可以使用新创建的报告返回JSON响应,也可以使用状态代码200(默认设置(发送成功消息。
Laravel为您完成大部分工作,您只需要根据您的API要求来定义响应。