php - Laravel 护照不会创建用户
问题描述
我正在尝试通过HTTP POST request
PHP Laravel 注册用户。
这是我的AuthController
:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use App\User;
use Illuminate\Support\Facades\Validator;
class AuthController extends Controller
{
public $successStatus = 200;
public function register(Request $request)
{
$request->validate([
'name' => 'required|string',
'email' => 'required|string|email|unique:users',
'password' => 'required|string|confirmed'
]);
$user = new User([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password)
]);
$user->save();
$message['success'] = 'Created Account Successfully';
return response()->json([
'message' => $message
], 201);
}
public function login(Request $request){
$request->validate([
'email' => 'required|string|email',
'password' => 'required|string'
]);
$credentials = request(['email', 'password']);
if(Auth::attempt($credentials)){
$user = Auth::user();
$message['token'] = $user->createToken('MyApp')->accessToken;
$message['token_type'] = 'Bearer';
$message['experies_at'] = Carbon::parse(Carbon::now()->addWeeks(1))->toDateTimeString();
$message['success'] = 'Logged in successfully';
return response()->json(['message' => $message], $this->successStatus);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
}
我的routes/api.php
:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
Route::post('/users', [AuthController::class, 'register']);
当我使用名称、电子邮件和护照参数发送 POST 请求时http://localhost:8080/api/users/
,它返回 200 响应而不是 201。它显示的是 Laravel 的索引页面,而不是响应。我检查了数据库,没有创建用户。
你能帮我解决我所缺少的吗?
解决方案
你可以尝试改变你做路线的方式。举个例子:
Route::post('users', 'App\Http\Controllers\UsersController@register');
我真的不明白你为什么这样做: public $successStatus = 200;
也许尝试删除这一行。
推荐阅读
- visual-studio-2019 - 如何在 Visual Studio 2019 中对 .vue 文件启用 linting
- indexing - 为什么向我的 Clickhouse 表添加 tokenbf_v2 索引没有任何效果
- django - 多对多字段的 Djano 管理表单查询集
- algorithm - 如何在不使用运算符和映射或使用 o(n) 且少于 15 行代码的情况下查找数组元素是其他元素的两倍
- mysql - MYSQL:获取A列中的不同值在B列中具有相同的值
- c - 使用 C _Generic 时不能使用括号吗?
- python - 使用 pytest 通过 cmd 运行测试时出错:INTERNALERROR> AttributeError: 'Config' object has no attribute '_metadata'
- rest - 什么是“发布”报价的 REST 方式?
- mysql - AWS RDS Mysql 社区 - 春季启动
- snowflake-cloud-data-platform - 雪管进程后如何归档文件