2016-04-09 3 views
0

В моем контроллере я не могу получить данные от $request, потому что после промежуточного программного обеспечения он пуст.

По какой-то причине, когда я называю метод контроллера данных устанавливаются в $request и промежуточном программном обеспечении, я могу получить доступ к нему и проверить, но как только я:

return $next($request); 

$request->all() контроллера является пустой массив.

Я попытался удалить все функции middleware, но ничего не изменилось.

В чем причина?

Это теперь мой промежуточный слой:

class CheckApi { 
    public function handle($request, Closure $next) 
    { 
     return $next($request); 
    } 
} 

и это контроллер:

class StatusController extends ApiController { 

    /** 
    * Store a newly created resource in storage. 
    * 
    * @param Request $request 
    * @return \Illuminate\Http\Response 
    */ 
    public function store(Request $request) 
    { 
     dd($request->all()); 
    } 
} 

ответ

0

Вы должны убедиться, что вы используете Request от действительного пространства имен. Попробуйте изменить в контроллере:

public function store(Request $request) 
{ 
    dd($request->all()); 
} 

в

public function store(\Illuminate\Http\Request $request) 
{ 
    dd($request->all()); 
} 

, чтобы убедиться, что вы используете правильный объект запроса