Запрос Laravel POST дает мне 404

В настоящее время я пишу 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();
    }
}

где находится ваш файл лезвия, содержащий форму

Shailendra Gupta 31.10.2018 08:05

Можете ли вы предоставить код для функции входа в AuthController и файл, который он должен возвращать?

Bonish Koirala 31.10.2018 08:07

@ShaielndraGupta «Я сейчас пишу API», "попробуйте отправить сообщение в v1 / users / auth / login через Postman". Нет файла с лезвием.

wes.p 31.10.2018 08:08

@BonishKoirala Обновил анкету :)

wes.p 31.10.2018 08:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
1 096
2

Ответы 2

добавить префикс на этом маршруте

v1/users/auth/login

использовать как это

api/v1/users/auth/login

Чтобы вызвать маршруты api в laravel, добавьте префикс api / as к маршруту, иначе он будет искать маршруты в web.php

Другие вопросы по теме