当他不应该时我收到 404 错误 :laravel
I get a 404 error when he should not :laravel
我开发了一个 API 这个页面有问题 我将它添加到我的路由中,但总是出现 404 错误 我不知道为什么
这是我的控制器:
class InsertPPictureController extends Controller
{
public function profilepicture (Request $request)
{
$input = $request->all();
$validator = Validator::make($input, [
'id_user'=> 'required',
'picture'=> 'image|nullable|max:1999'
] );
$user = User::findOrFail($request->id);
$user_id = $request->id ;
if($request->hasFile('picture')){
// Get filename with the extension
$filenameWithExt = $request->file('picture')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('picture')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $user_id.'.'.$extension;
// Upload Image
$path = $request->file('picture')->storeAs('public/profilepic', $fileNameToStore);
$user->pic_path = $fileNameToStore ;
$user->update();
} else {
$fileNameToStore = 'noimage';
}
return response()->json(' Success : User updated with success ',200);
}
}
这是我的 api.php
Route::group(['middleware' => ['jwt.verify']], function() {
Route::get('logout', 'AuthController@logout');
Route::post('postcreditscards', 'CreditsCardsController@stockcards');
Route::get('getcreditscards', 'CreditsCardsController@index');
Route::get('getmybalance', 'MyBalanceController@index');
Route::get('getuserdata', 'AuthController@getuser');
Route::post('sendMoneyTransaction', 'MyBalanceController@updatebalance');
Route::post('isvalidnumber', 'AuthController@validnumber');
Route::post('updateuser', 'AuthController@updateuser');
Route::post('insertprofilepicture','InsertPPictureController@profilepicture');
});
所有页面都可以正常工作,只有这个页面不工作
Route::post('insertprofilepicture','InsertPPictureController@profilepicture');
由于控制器代码中的以下行,您收到 404 错误:
$user = User::findOrFail($request->id);
您提供的 id
在您的用户 table 中不存在,并且由于您没有捕捉到异常,因此 Laravel 返回 404 响应,这实际上是 ModelNotFoundException
引用 here
转到:上面的 "Not Found Exceptions" 部分 link。这是文档中的一些行:
If the exception is not caught, a 404 HTTP response is automatically sent back to the user
echo '<pre>'.print_r($user,1);die();
把这一行放在
$user = User::findOrFail($request->id);
线。我建议你检查传递给这个控制器的数据数组。如果通过,可以逐行查看
我开发了一个 API 这个页面有问题 我将它添加到我的路由中,但总是出现 404 错误 我不知道为什么
这是我的控制器:
class InsertPPictureController extends Controller
{
public function profilepicture (Request $request)
{
$input = $request->all();
$validator = Validator::make($input, [
'id_user'=> 'required',
'picture'=> 'image|nullable|max:1999'
] );
$user = User::findOrFail($request->id);
$user_id = $request->id ;
if($request->hasFile('picture')){
// Get filename with the extension
$filenameWithExt = $request->file('picture')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('picture')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $user_id.'.'.$extension;
// Upload Image
$path = $request->file('picture')->storeAs('public/profilepic', $fileNameToStore);
$user->pic_path = $fileNameToStore ;
$user->update();
} else {
$fileNameToStore = 'noimage';
}
return response()->json(' Success : User updated with success ',200);
}
}
这是我的 api.php
Route::group(['middleware' => ['jwt.verify']], function() {
Route::get('logout', 'AuthController@logout');
Route::post('postcreditscards', 'CreditsCardsController@stockcards');
Route::get('getcreditscards', 'CreditsCardsController@index');
Route::get('getmybalance', 'MyBalanceController@index');
Route::get('getuserdata', 'AuthController@getuser');
Route::post('sendMoneyTransaction', 'MyBalanceController@updatebalance');
Route::post('isvalidnumber', 'AuthController@validnumber');
Route::post('updateuser', 'AuthController@updateuser');
Route::post('insertprofilepicture','InsertPPictureController@profilepicture');
});
所有页面都可以正常工作,只有这个页面不工作
Route::post('insertprofilepicture','InsertPPictureController@profilepicture');
由于控制器代码中的以下行,您收到 404 错误:
$user = User::findOrFail($request->id);
您提供的 id
在您的用户 table 中不存在,并且由于您没有捕捉到异常,因此 Laravel 返回 404 响应,这实际上是 ModelNotFoundException
引用 here
转到:上面的 "Not Found Exceptions" 部分 link。这是文档中的一些行:
If the exception is not caught, a 404 HTTP response is automatically sent back to the user
echo '<pre>'.print_r($user,1);die();
把这一行放在 $user = User::findOrFail($request->id); 线。我建议你检查传递给这个控制器的数据数组。如果通过,可以逐行查看