В настоящее время я пишу API на Laravel, и у меня возникла небольшая загвоздка. На данный момент я сосредоточен на части аутентификации моего API, поэтому у меня есть следующие маршруты:
(Через php artisan route:list)
+--------+--------+------------------------+------+--------------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+--------+------------------------+------+--------------------------------------------------------+------------+
| | POST | v1/users/auth/login | | App\Http\Controllers\User\AuthController@login | api |
| | POST | v1/users/auth/register | | App\Http\Controllers\User\AuthController@register | api |
+--------+--------+------------------------+------+--------------------------------------------------------+------------+
Очень простой. Теперь, когда я пытаюсь отправить сообщение на v1/users/auth/login через Postman, он работает. Это дает мне ожидаемые ответы и все такое. Однако, когда я пробую маршрут register, Laravel выдает ошибку 404?
Никаких ошибок, ничего, только 404. Теперь, после некоторой отладки пещерного человека, я вижу, что он проходит через метод authorize() запроса, но затем он снова выдает эту чертову ошибку.
Это моя просьба:
class RegistrationRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return !Auth::check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'code' => 'required',
'username' => 'required|unique:users',
'password' => 'required|confirmed|min:6',
];
}
public function persist()
{
$user = User::create([
'username' => $this->username,
'password' => password_hash($this->password, PASSWORD_DEFAULT),
'reg_ip' => $this->ip(),
'last_ip' => $this->ip()
]);
return response()->json($user->api_token, 201);
}
Как это возможно, если мой маршрут четко определен?
Спасибо.
-- Обновлено:
мой контроллер:
class AuthController extends Controller
{
public function register(RegistrationRequest $request)
{
return $request->persist();
}
public function login(LoginRequest $request)
{
return $request->persist();
}
}
Можете ли вы предоставить код для функции входа в AuthController и файл, который он должен возвращать?
@ShaielndraGupta «Я сейчас пишу API», "попробуйте отправить сообщение в v1 / users / auth / login через Postman". Нет файла с лезвием.
@BonishKoirala Обновил анкету :)






добавить префикс на этом маршруте
v1/users/auth/login
использовать как это
api/v1/users/auth/login
Чтобы вызвать маршруты api в laravel, добавьте префикс api / as к маршруту, иначе он будет искать маршруты в web.php
где находится ваш файл лезвия, содержащий форму