2016-06-16 1 views
2

Я разрабатываю приложение в laravel (сервер REST), используя Basic Auth. Используя Postman, все запросы GET, которые я реализовал, похоже, работают, но, к сожалению, POST-запросы не работают.Отсутствует аргумент 1 для MyController в приложении RESTful

routes.php:

Route::post('my/action', '[email protected]'); 

Мой контроллер:

public function __construct() 
{ 
    $this->middleware('auth.basic.once'); 
} 

public function postMyAction($request) 
{ 
    // some logic here 
} 

Проблема в том, что этот путь, после настройки учетных данных и некоторые Params в Почтальон, появляется следующее исключение:

Отсутствует аргумент 1 для Приложение \ Http \ Controllers \ MyController :: postMyAction()

Кто-нибудь знает, как поставить запрос в функцию пост-обработки, определенную в маршрутах?

Заранее спасибо.

ответ

2

Laravel обеспечивает внедрение зависимостей методов контроллера, однако вам нужно typehint именно то, что вы хотите, чтобы Laravel знает, что вводить:

public function postMyAction(\Illuminate\Http\Request $request) 
{ 
    // Now $request is available 

Теперь Laravel знает, что вы хотите экземпляр Illuminate\Http\Request и это даст его вы.

Конечно, вы также можете вставить use Illuminate\Http\Request; в верхней части своего контроллера, а затем просто введите html Request $request в качестве аргумента.

+0

Это работает, спасибо. Я не знал, что там нужен тип. – Tom11

Смежные вопросы