Php Clean Laravel 5.1使用一个RESTful路由安装getting NotFoundHttpException
我正在使用Laravel 5作为Ionic应用程序的API,它看起来几乎可以工作,但我的测试路线是在Laravel中Php Clean Laravel 5.1使用一个RESTful路由安装getting NotFoundHttpException,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在使用Laravel 5作为Ionic应用程序的API,它看起来几乎可以工作,但我的测试路线是在Laravel中 Route::group( [ 'prefix' => 'api' ], function () { Route::any( 'user', function () { return 'Hello Anonymous User'; } ); } ); 当我击中 http://localhost:8000/api/user 应该只返
Route::group( [ 'prefix' => 'api' ], function ()
{
Route::any( 'user', function ()
{
return 'Hello Anonymous User';
} );
} );
当我击中
http://localhost:8000/api/user
应该只返回“Hello Anonymous User”,但由于切换到Homestead而不是使用artisan Service,它现在会抛出以下错误:
Sorry, the page you are looking for could not be found.
NotFoundHttpException in RouteCollection.php line 145:
in RouteCollection.php line 145
at RouteCollection->match(object(Request)) in Router.php line 719
at Router->findRoute(object(Request)) in Router.php line 642
at Router->dispatchToRoute(object(Request)) in Router.php line 618
at Router->dispatch(object(Request)) in Kernel.php line 210
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 43
at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 61
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Kernel.php line 111
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84
at Kernel->handle(object(Request)) in index.php line 53
并且,从使用ngResource的Ionic到API的任何post都会在控制台中作为500错误返回。我发现一个解决方案建议关闭app/http/Kernel.php中的VerifyCsrfToken中间件,方法是:
\App\Http\Middleware\VerifyCsrfToken::class,
但这并没有起作用,也没有改变错误
我可以点击默认的欢迎路线,并使用debugbar查看Laravel5欢迎视图。我也尝试过只使用上面的内部路由表单而不使用组和hit,但它会产生相同的错误
更新
检查路线列表所有路线看起来都正常
php artisan route:list
| GET|HEAD | / | Closure
| GET|HEAD|POST|PUT|PATCH|DELETE | api/user | Closure
| GET|HEAD|POST|PUT|PATCH|DELETE | user | Closure
... with debugbar routes
如果它与artisan serve而不是homestead一起工作,则homestead hosts安装程序可能会将您的请求发送到homestead上的默认项目,而不是您已设置的项目。请确认屏幕上显示了routes文件顶部的dd(“ping”)。否则,您可能会看到错误的应用程序 检查您计算机上的/etc/hosts文件(假设使用OS X或*nix),确保已将192.168.10.10设置为指向someappname.app,并在~/.homestead/homestead.yaml中确保已添加站点:部分
-map: someappname.app
to: /home/whatever the mapped path to this app is
在~/homestad目录中,键入vagrant provision以确保vagrant接受最新的更改
我认为这应该可以解决您的问题。看起来是正确的,您是否尝试在没有团队参与的情况下查看它是否有效?可能是htaccessHi@DavidNguyen的问题,我刚刚尝试从组中拉出内部用户路由并点击,但我得到了完全相同的错误。Hi@DavidNguyen,如果有帮助的话,我可以点击上的欢迎路由。听起来像是htaccess问题,你在使用apache吗?或者别的什么。你确定欢迎路线在同一个项目中吗?如果在路由文件的顶部放置一个
dd('here')
,您看到了吗?如果我没有弄错的话,默认情况下homestead将是homestad.app/api/user。前提是您已将192.1168.10.10 homestad.app
添加到操作系统主机文件中。