Задать вопрос
@smoove1117

Почему мне выдает ошибку, что этот файл уже используется?

Когда я делаю запрос пишет, что такой файл уже есть, хотя он только один
6661a7578c7d3819497563.png
Этот файл контроллер
<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;

class GuestController extends Controller
{
    public function authorization(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'email' => 'required|email',
            'password' => 'required',
        ]);

        if ($validator->fails()) {
            return response()->json([
                'success' => false,
                'message' => $validator->errors()->first(),
            ], 422);
        }

        $user = User::where('email', $request->email)->first();

        if (!$user || !Hash::check($request->password, $user->password)) {
            return response()->json([
                'success' => false,
                'message' => 'Login failed',
            ], 401);
        }

        $token = $user->createToken('auth_token')->plainTextToken;

        return response()->json([
            'success' => true,
            'message' => 'Success',
            'token' => $token,
        ]);
    }

    public function registration(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'email' => 'required|email|unique:users',
            'password' => 'required|min:8|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/',
            'first_name' => 'required',
            'last_name' => 'required',
        ]);

        if ($validator->fails()) {
            return response()->json([
                'success' => false,
                'message' => $validator->errors()->first(),
            ], 422);
        }

        $user = User::create([
            'email' => $request->email,
            'password' => Hash::make($request->password),
            'first_name' => $request->first_name,
            'last_name' => $request->last_name,
        ]);

        $token = $user->createToken('auth_token')->plainTextToken;

        return response()->json([
            'success' => true,
            'message' => 'Success',
            'token' => $token,
        ]);
    }
}

Маршруты api
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;

Route::prefix('v1')->group(function () {
  Route::post('reg', [\App\Http\Controllers\Api\V2\AuthController::class, 'register']);
});
Route::prefix('v2')->group(function () {
Route::post('authorization', [\App\Http\Controllers\Api\V2\GuestController::class, 'authorization']);
Route::post('registration', [\App\Http\Controllers\Api\V2\GuestController::class, 'registration']);
Route::get('logout', [\App\Http\Controllers\Api\V2\AuthController2::class, 'logout']);
Route::post('files', [\App\Http\Controllers\Api\V2\AuthController2::class, 'files']);
});

Структура проекта
6661a7a1eb28b242518395.png
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Почему у вас код контроллера лежит в неймспейсе App\Http\Controllers (хотя и файла такого не видно)
В роутах вы запрашиваете из неймспейса \App\Http\Controllers\Api\V2
Это как-то странно.

PS
'password' => 'required|min:8|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/',


Для валидации паролей есть специальные правила https://laravel.com/docs/11.x/validation#validatin...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы