我在api文件中创建了一条允许每个人创建用户的路径:
Route::post('users', 'UserController@addUser');
当我在邮递员中调用它而不使用请求验证时,它可以工作。但是当我创建我的请求文件并使用它时,Laravel返回NotFoundHttpException。
这是我的请求文件:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UserAddRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'user_id' => 'required|numeric',
'name' => 'required|string',
'email' => 'required|string',
'password' => 'required|string'
];
}
}
public function addUser(UserAddRequest $request){
$user = new User;
$user->instance_user_id = $request->input('user_id');
$user->name = $request->input('name');
$user->email = $request->input('email');
$user->password = $request->input('password');
$user->save();
}
没有表单,因为它需要使用post方法直接发送到服务器。我在routes / api.php中声明了我的路由,我用url / api / users调用它。在这种情况下,api不需要检查凭据。
答案 0 :(得分:0)
我解决了我的问题:
引发了NotFoundHttpException,因为我没有正确发送参数,而Laravel也没有重定向我的位置。当我直接将请求发送到服务器时,没有为我要来的地方宣布网址。