php – Clean Laravel 5.1使用单个RESTful路由安装获取NotFoundHttpException

前端之家收集整理的这篇文章主要介绍了php – Clean Laravel 5.1使用单个RESTful路由安装获取NotFoundHttpException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Laravel 5作为Ionic应用程序的API,它似乎几乎正常工作,但我在Laravel的测试路线

Route::group( [ 'prefix' => 'api' ],function ()
{
    Route::any( 'user',function ()
    {
        return 'Hello Anonymous User';
    } );
} );

我打的时候

http://localhost:8000/api/user

应该只返回“Hello Anonymous User”,但由于切换到Homestead而不是使用artisan服务它现在会抛出此错误

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

从Ionic使用ngResource到API的任何帖子都会在控制台中作为500错误返回.我发现一个解决方案建议通过注释掉关闭app / http / Kernel.PHP中的VerifyCsrfToken中间件:

\App\Http\Middleware\VerifyCsrfToken::class,

但这不起作用或改变错误.

我可以在http://localhost:8000/点击默认的欢迎路线,并通过调试栏查看Laravel 5欢迎视图.我也试过在没有组的情况下使用上面的内部路径表格并点击http://localhost:8000/user,但它产生相同的错误.

UPDATE

检查路由列表所有路由似乎都没问题.

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

解决方法

如果它与工匠服务而不是宅基地一起工作,那么您的宅基地主机设置可能会将您的请求发送到宅基地的默认项目而不是您已设置的项目.请确认路线文件顶部的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

在〜/ Homestead目录中,输入vagrant provision以确保vagrant接受最新的更改.

我认为这应该可以解决你的问题.

猜你在找的Laravel相关文章