我已经看过其他关于如何解决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;。
答案 0 :(得分:1)
没有回复此特定问题,我决定使用Dingo API构建我的API:https://github.com/dingo/api使用Laravel /流明构建API是一个很好的包。他们创建了自己的路由系统,事情进展得更好。