我已经创建了一个API,它可以工作,但是有一个奇怪的行为,它不允许我在请求的正文中发送数据。
api.php
Route::controller(AuthController::class)->group(function () {
Route::post('login', 'login');
Route::post('register', 'register');
Route::post('logout', 'logout');
Route::post('refresh', 'refresh');
Route::get('me', 'me');
});
AuthController.php
class AuthController extends Controller
{
public function __construct()
{
$this->middleware('auth:api', ['except' => ['login','register']]);
}
public function register(Request $request){
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6',
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
$token = Auth::login($user);
return response()->json([
'status' => 'success',
'message' => 'User created successfully',
'user' => $user,
'authorisation' => [
'token' => $token,
'type' => 'bearer',
]
]);
}
}
如果我像这样发送数据
localhost:8000/api/register?name=odlir4&email=odlirgz4@gmail.com&password=password
它工作得很好,但是如果我这样发送它
这不起作用,有人知道为什么会发生这种情况吗?我认为它应该起作用,还是我错了?
谢谢你,谢谢你
2条答案
按热度按时间erhoui1w1#
在路由寄存器中定义POST方法
api.php
在postman中,您使用GET方法发送数据,因为它传递参数
在选项卡主体https://www.postman.com/postman/workspace/published-postman-templates/request/631643-083e46e7-53ea-87b1-8104-f8917ce58a17中应该是这样
y3bcpkx12#
您需要使用以下方法在控制器中获取表单数据
或者,如果您要在json中发送请求