将标题数据发送到laravel控制器?

时间:2014-10-06 19:39:08

标签: php laravel laravel-4

我正在构建一个用于在Laravel中训练自己的webapp的API。我整合了Tappleby基于令牌的身份验证系统,如下所示:

Route::get('api/v1/auth', 'Tappleby\AuthToken\AuthTokenController@index');

Route::post('api/v1/auth', 'Tappleby\AuthToken\AuthTokenController@store');

Route::delete('api/v1/auth', 'Tappleby\AuthToken\AuthTokenController@destroy');

Route::group(['prefix' => 'api/v1', 'before' => 'auth.token'], function ()
{

    Route::resource('user', 'ApiUsersController');

});

ApiUsersController我理想情况下,想要做这样的事情:

public function index() 
{

    $payload = $request->header('X-Auth-Token');

    if(empty($payload)) {

          return $this->respondNotFound('User does not exist.');

    }

    $user = $this->driver->validate($payload);

    return $user;

}

但是,header()不适用于控制器。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

在Laravel中,您可以像这样检索HTTP标头:

$value = Request::header('Content-Type');

将此添加到您的控制器,然后您可以使用它执行所需的操作。

此外,您可以将Content-Type更改为应有的内容。

在此处阅读更多内容:http://laravel.com/docs/4.2/requests