【发布时间】:2020-05-13 19:53:43
【问题描述】:
我们正在为我们的应用程序创建一个 REST API。
web.php
Route::post('add-new-student', 'StudentController@addNewStudent');
StudentController.php
...
function addNewStudent(Request $request)
{
$validation = $request->validate([
'student_mobile' => 'required|digits:10',
'student_name' => 'required|min:3|max:50',
'student_email' => 'email:rfc|max:50',
]);
if ($validation->fails()) {
// show error json
} else {
// add new student
}
}
...
现在当我们发送 JSON 响应时,如果有错误,而不是去 else 阻止它在邮递员中显示 404 页面。
我们不知道自己做错了什么!
注意
- 我们的路线是正确的(仔细检查)
- 在 postman 中,我们正在发送 post 请求
【问题讨论】:
-
我相信
$request->validate()在失败时会执行重定向。哪个 URL 抛出了 404? -
url 是一样的,因为我们在 postman 上测试
-
使用
$validator = Validator::make($request->all(), [...]);,然后你就可以if ($validator->fails()) { ... } -
@porloscerrosΨ 工作谢谢!
标签: php laravel rest validation