Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel Symfony\Component\HttpKernel\Exception\NotFoundHttpException_Laravel_Laravel 4 - Fatal编程技术网

Laravel Symfony\Component\HttpKernel\Exception\NotFoundHttpException

Laravel Symfony\Component\HttpKernel\Exception\NotFoundHttpException,laravel,laravel-4,Laravel,Laravel 4,我知道了 Symfony\Component\HttpKernel\Exception\NotFoundHttpException 当我试图转到http:/localhost/api/v1 但是我已经声明了我的routes.php。看这里 Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function(){ Route::resource('url', 'UrlController');

我知道了

Symfony\Component\HttpKernel\Exception\NotFoundHttpException

当我试图转到
http:/localhost/api/v1

但是我已经声明了我的
routes.php
。看这里

Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function(){
    Route::resource('url', 'UrlController');
});
我的
filters.php
如下所示

Route::filter('api', function() {

    // Fetch a user record based on UN + PW     
    $user = User::where('username', '=', Input::get('username'))
    ->where('password', '=', Input::get('password'))
                ->take(1)
                ->get();

    if ($user->count() > 0) {
        Auth::onceUsingId($user[0]->id); // Authorize the user for this one request
    } else {
        return Response::view('errors.404', array(), 404)->header('Content-Type', 'application/json');
    }});
My
控制器中的My
index
函数如下所示

<?php

class UrlController extends \BaseController {

    public function index(){
        return Response::json(User::all());
    }
}

您声明路线的方式需要转到
/api/v1/url
才能进入
索引
操作

您可以使用该URL或按如下方式更改路由:

Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function(){
    Route::resource('/', 'UrlController');
});

繁荣你明白了。它修好了。谢谢@lukasgeiter.:)我添加了
dd($user)在my
filters.php
中。怎么会不起作用?相反,它直接跳到我的索引函数并加载所有json文件
public function index(){return Response::json(User::all());}
Ehm您的过滤器将被调用
api
,您将注册
auth.basic
,与之前的过滤器一样。这就是问题所在吗?是的。完全正确。我该如何解决这个问题?我应该将
api
移动到auth.basic的顶部吗?如果你想执行这两个过滤器,你可以在auth.basic | api之前执行
或者在数组('auth.basic',api')之前执行