Я хочу сделать jwt api с laravel и angular, но у меня есть проблема;когда я отправляю свои регистрационные данные на мой сервер laravel, он говорит:
Argument 1 passed to Illuminate\Database\Eloquent\Builder::create() must be of the type array, object given, called in D:\xampp\htdocs\MySiteBackEnd\vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php on line 23
и мои данные:
{
email : "Artin.zareie@yahoo.com"
family : "aa"
name : "aa"
password : "aaa"
password_confirmation : "aaa"
username : "a"
}
моя внутренняя регистрационная функция:
public function signup(SignUpRequest $request)
{
User::create($request);
return $this->login($request);
}
мой код входа:
public function login()
{
$credentials = request(['email', 'password']);
if (! $token = auth()->attempt($credentials)) {
return response()->json(['error' => 'ایمیل یا رمزعبور نامعتبر می باشد .'], 401);
}
return $this->respondWithToken($token);
}
и, наконец, мой класс SignUpRequest такой:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SignUpRequest 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 [
'name' => 'required',
'family' => 'required',
'email' => 'required|email|unique:users',
'username' => 'required|unique:users',
'password' => 'required|confirmed',
];
}
}
Я использую угловой 6 и laravel 5.7