I can’t check simple post route, i get 405 Method Not Allowed error

просто у меня это ниже маршрута:

Route::post ('clientLoginAccount', 'AuthController@clientLoginAccount');

и я хочу опубликовать некоторые данные в качестве объекта json или другого формата к этому, я пытаюсь проверить этот маршрут с помощью RESTClientаддона на firefox, но я получаю ошибку:

405 Method Not Allowed

clientLoginAccount метод дальшеAuthController

public function clientLoginAccount()
{
    echo json_encode(['test'=>' ok']);
}

Введите описание изображения здесь

маршрутный лист:

| | POST|clientLoginAccount |  | AppHttpControllersAuthController@clientLoginAccount   | web |

2 ответа

  1. Исключить CSRF-Token Verficiationдля этого маршрута.

    Откройте промежуточное ПО VerifyCsrfToken и добавьте clientLoginAccountв $exceptмассив

    class VerifyCsrfToken extends BaseVerifier
    {
        protected $except = 
            'clientLoginAccount'
        ];
    }
    
  2. вы должны ожидать405 Method Not Allowed, это очень большая проблема, когда вы или кто-то использует ваш API, вы должны быть управлять, что внутри контроллера, ваша проблема в форме метод не CSRF. В любом случае вы должны использовать это решение, например:

    class AuthController extends Controller
    {
        public function clientLoginAccount(Request $request)
        {
            if ($request->method() != 'POST') {
                return response()->json(['data' => "Request must be 'POST'", 'status' => '1'], 200);
            }
        }
    }