在api路由上使用我的请求文件的NotFoundHttpException

时间:2017-08-15 15:50:01

标签: laravel laravel-passport laravel-request

我在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不需要检查凭据。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题:

引发了NotFoundHttpException,因为我没有正确发送参数,而Laravel也没有重定向我的位置。当我直接将请求发送到服务器时,没有为我要来的地方宣布网址。