Laravel Lumen ReflectionException

时间:2017-02-01 15:11:58

标签: laravel api routes request lumen

我已经看过其他关于如何解决laravel Lumen中的 ReflectionException 问题的帖子,使用它:

 $request = Illuminate\Http\Request::capture();
 $app->run($request);

然而,它并没有解决我的问题。我有一个名为AccountController.php的控制器,放在app / Http / Controllers / Account文件夹中,这里是代码:

<?php

namespace App\Http\Controllers\Account;

use App\Account;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;


class AccountController extends Controller {

public function createNewAccount(Request $request) {
    $newAccount = Account::create($request->all());
    return response()->json($newAccount);
    }
}

这是我在/routes/web.php中的路径文件:

<?php

$app->get('/hello', function () use ($app) {
    return 'Hello World!';
});


$app->group(['prefix' => 'api/v1','namespace' => 'App\Http\Controllers\Account'], function($app)
{
    $app->post('account','AccountController@createNewAccount');
});

当我使用Postman测试get请求时,返回一个简单的“Hello World&#39;工作正常,但对 api / v1 / account / createNewAccount 的POST调用将始终失败,无论我做什么:

  

Container.php第681行中的ReflectionException:   类App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController不存在   在Container.php第681行   在ReflectionClass-&gt; __构造(&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController&#39;)在Container.php第681行   在Container-&gt; build(&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController&#39;)中的Container.php第565行   在Container-&gt;在Application.php第208行中制作(&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController&#39;)   在Application-&gt;在RoutesRequests.php第677行中制作(&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController&#39;)   在Application-&gt; callControllerAction(array(true,array)(&#39;使用&#39; =&gt;&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController @ createNewAccount&#39;), array()))在RoutesRequests.php第644行中   at Application-&gt; callActionOnArrayBasedRoute(array(true,array)&#39;使用&#39; =&gt;&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController @creinNewAccount&#39;), array()))在RoutesRequests.php第629行中   在Application-&gt; handleFoundRoute(array(true,array(&#39;使用&#39; =&gt;&#39; App \ Http \ Controllers \ App \ Http \ Controllers \ Account \ AccountController @ createNewAccount&#39;), array()))在RoutesRequests.php第528行中   at Application-&gt;在RoutesRequests.php第782行中的Laravel \ Lumen \ Concerns {closure}()   在Application-&gt; sendThroughPipeline(array(),object(Closure))在RoutesRequests.php第534行   在RoutesRequests.php第475行中的Application-&gt; dispatch(object(Request))   在Application-&gt;在index.php第29行中运行(对象(请求))

我正在使用&#34; laravel / lumen-framework&#34;:&#34; 5.4。*&#34;。

1 个答案:

答案 0 :(得分:1)

没有回复此特定问题,我决定使用Dingo API构建我的API:https://github.com/dingo/api使用Laravel /流明构建API是一个很好的包。他们创建了自己的路由系统,事情进展得更好。