我正在try 使用以下代码创建自定义身份验证控制器:
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class AuthController extends Controller
{
public function register(Request $request)
{
//validate the request
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:8|confirmed',
]);
$data = $request->all();
//create new user
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
//return response
return response()->json(['message' => 'Successfully created user!'], 201);
}
}
控制器应该在数据库中创建一个新的用户条目,用户模型是Laravel的默认模型,没有进行任何更改.
在我的api.php路径文件中,我设置了以下简单的路径:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/register', [AuthController::class, 'register']);
问题是,当我try 向/api/Register发送POST请求时,Laravel使用默认的html页面进行响应:
我到底做错了什么?考虑到这应该只是我的应用程序的后端,所以我不需要设置任何视图