【发布时间】:2018-06-16 14:05:31
【问题描述】:
当我在 Laravel 5.5 上使用 Form Request Validation 时,这很奇怪,我所有的帖子请求都将是 405 Method Not Allowed,但是当我使用标准验证时变得正常,我的代码是:
php artisan route:list值
+--------+----------+----------------------------------------+--------------------+-----------------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+----------------------------------------+--------------------+-----------------------------------------------------------+------------+
| | POST | api/register | | App\Http\Controllers\AuthController@register | api |
+--------+----------+----------------------------------------+--------------------+-----------------------------------------------------------+------------+
使用insomnia 请求:
我失眠时的base_api值为http://mylocal.app/api
错误信息:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
路由器(api.php):
Route::post('register', 'AuthController@register');
控制器(AuthController.php):
use App\Http\Requests\StoreRegistration;
public function register(StoreRegistration $request)
{
$email = $request->email;
$name = $request->name;
$password = $request->password;
$user = User::create([
'name' => $name,
'email' => $email,
'password' => Hash::make($password)
]);
$verifyUser = VerifyUser::create([
'user_uuid' => $user->uuid,
'token' => str_random(100)
]);
SendVerificationEmail::dispatch($user); //I use queue to send email
return response()->json(['success' => true, 'message' => 'message on success']);
}
StoreRegistration.php:
class StoreRegistration extends FormRequest {
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|min:4|max:50|unique:users|alpha_dash',
'email' => 'email|required|max:255|unique:users',
'password' => 'required|confirmed|min:6'
];
}
}
这个问题让我抓狂。
【问题讨论】:
-
请出示您用来执行
register()方法的表单或链接。 -
更新了@AlexeyMezenin
-
跟走错路线有关
-
我怀疑自己路由没有问题,当我使用标准请求进行更改时,它可以正常工作。 @user2486
-
告诉我们你的确切错误
标签: laravel validation laravel-5