我正在尝试使用Laravel 5.4为基本的CRUD操作实现REST API 我有一个post方法如下。
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请求后处理响应。例如,如果验证失败或发生任何异常,我应该返回什么以及应该如何返回。我做了一些研究,但找不到合适的答案。任何帮助,将不胜感激。
答案 0 :(得分:0)
好吧,我通常在json中做一个响应,总是很容易解析,在你的函数结束时,如果一切都正确完成,你可以这样做:
return response()->json(["response" => true]);
如果由于某种原因失败
return response()->json(["response" => false, errors => ["This can be an array or whatever"] ]);
答案 1 :(得分:0)
验证将返回带有状态代码为422的错误消息的json响应。因此,您不必担心验证失败异常。
关于创建报告后您想要做什么,取决于您。您可以使用新创建的报告返回json响应,或发送状态代码为200的成功消息(默认设置)。
Laravel为您完成大部分工作,您只需根据API要求定义响应。