我正在创建一个用于身份验证和数据库管理的 Laravel API。在我的 AuthController 中,我有一个运行良好的登录函数和一个不起作用的注册函数。它不返回新用户信息和 201 状态,而是返回 200 并显示 API 的主页(由 Laravel 创建的welcome.blade.php)。
我在 api.php 中的路线:
Route::post('login', 'AuthController@login');
Route::post('register', 'AuthController@register');
我的验证控制器:
class AuthController extends Controller
{
/**
* Register user
*/
public function register(Request $request)
{
$request->validate([
'firstname' => 'required|string',
'surname' => 'required|string',
'email' => 'required|email|unique:users',
'password' => 'required|string|confirmed'
]);
$user = new User([
'firstname' => $request->firstname,
'surname' => $request->surname,
'email' => $request->email,
'password' => bcrypt($request->password)
]);
$user->save();
$success['token'] = $user->createToken('MyApp')->accessToken;
$success['firstname'] = $user->firstname;
$success['surname'] = $user->surname;
$success['email'] = $user->email;
return response()->json(['success' => $success], 201);
}
/**
* Login user and create token
*
* @param [string] email
* @param [string] password
* @param [boolean] remember_me
* @return [string] access_token
* @return [string] token_type
* @return [string] expires_at
*/
public function login(Request $request)
{
$request->validate([
'email' => 'required|email|exists:users,email',
'password' => 'required|string',
// 'remember_me' => 'boolean'
]);
$credentials = request(['email', 'password']);
if(!Auth::attempt($credentials))
{
return response()->json([
'message' => 'Unauthorized',
'request'=> $credentials
], 401);
}
注册函数有什么问题?
摇曳的蔷薇